本文介绍ssh密钥对的配置方法,分别讲解windows与linux下密钥对的配置,希望对大家有所帮助。 1、首先,windows配置密钥对的方法, 运行SecureCRT, 选择菜单栏Tools->Create Public Key,点击“下一步”,选择Key Pair的算法类型为“RSA”(也可以使用“DSA”,但推荐使用RSA)。 将Key Pair保存到妥善的地方,如d:\sshkey\id_rsa,Public Key即为id_rsa.pub(建议改成登录的用户名作为区分) 生成的格式如下: 这个是公钥的格式 ---- BEGIN SSH2 PUBLIC KEY ---- Subject: winxp Comment: "winxp@机器型号" ModBitSize: 1024 AAAAB3NzuwHsggMSjCydJA1ieEIVj2n0fUR2xrXLA7Jflf7YQ3mfhh6+n02kO6w== ---- END SSH2 PUBLIC KEY ---- 这个是私钥的格式: ---- BEGIN VAN DYKE SSH2 PRIVATE KEY ---- Subject: winxp Comment: "winxp@机器标识" ModBitSize: 1024 AAAAAQAAAJcAAAAHc3NoLXJzYQAAAAMBAAEAAACBANU45dnR0pgaSgPvTgK5bYRQXO4uLsifGJv6BAWvGwbxiDLRuk2qOBRy7TkI+/jyU9OW5HnO3UYee7yxopQLi/C4RiU3H++LvjOnDIF6TNxR0iTjrSJDoBTC5TQ2lC6lMbyWo11lsdrrC0aoluGjNXpm6A= ---- END VAN DYKE SSH2 PRIVATE KEY ---- 但是不能直接复制粘贴到你的服务器上面,因为你的openssh不支持公钥这个格式。 所以要在服务器上面换格式:ssh-keygen -f -i 原来格式的公钥名。在服务器上看到的格式如下: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArpv8jqdSRiZ9011nLHB1HTD0ANUITKaIDm/VWjnQblKGMEs8U407PXdwZks6UatIMYv/IGkWBIqLRPRsiSFYaACyEV3tXXs484PFakrk+7hZF4iELPf0oLBp5fmjK7nB2OhTqs5+2DZpwMUMcxydVn8j2ZlWTzk/u4TxjWyQ== 但要注意这个是一行的。 ls -al .ssh 这个权限为700 ,要注意,如果你是在根目录下面配置的话,他默认是根用户的,所以还要把它改成自己的用户。 ls -al authorized_kyes 这个权限为600这个的用户也要改成自己的哦。 -rw------- 1 root root 406 2008-03-06 22:53 authorized_keys 改成 -rw------- 1 usename usename 406 2008-03-06 22:53 authorized_keys 以上是在window系统中配置密钥对。 2、linux主机配置密钥对, $ssh-keygen -b 1024 -t rsa Generating public/private rsa key pair。 Enter file in which to save the key (/home/$username/.ssh/id_rsa): (Key Pair将要保存的路径,括号内为默认) Created directory '/home/$username/.ssh'。 Enter passphrase (empty for no passphrase): (输入口令) Enter same passphrase again: (再次输入口令,千万不要忘记否则就只有从新生成密钥了) Your identification has been saved in /home/$username/.ssh/id_rsa。(你的私钥) Your public key has been saved in /home/$username/.ssh/id_rsa.pub。(你的公钥) 这里需要注意:这个ssh-keygen的命令不能在root下面执行,因为这个生成的密钥对在root下面。而不是你自己的用户目录下,而且公钥中的内容也跟roor相关,改起来很麻烦。所以必须在home/username的目录下面执行:ssh-keygen,因为这个是在linux系统上完成的。所以在放到服务器上的时候,就不需要再改格式了。 3、双系统的情况,在linux的主机上生成的密钥对,放在服务器上面的,但是当换window的系统时候,就登不上去了,此时想到把linux下的密钥对复制,粘贴到window下面,然后就改成类似securecrt生成的那个密钥对的格式。私钥格式是不会变得。公钥删去ssh-rsa ,然后加上收尾---BEGIN......----END就行了。 (责任编辑:IT) |