新闻中心

SSH的密匙

 生成你自己的密匙对 
生成并分发你自己的密匙有两个好处: 
1) 可以防止“中间人”这种攻击方式 
2) 可以只用一个口令就登录到所有你想登录的服务器上 
用下面的命令可以生成密匙: 
ssh-keygen 
如果远程主机使用的是SSH 2.x就要用这个命令: 
ssh-keygen –d 
在同一台主机上同时有SSH1和SSH2的密匙是没有问题的,因为密匙是存成不同的文件的。 
ssh-keygen命令运行之后会显示下面的信息: 
Generating RSA keys: ............................ooooooO......ooooooO 
Key generation complete. 
Enter file in which to save the key (/home/[user]/.ssh/identity): 
[按下ENTER就行了] 
Created directory '/home/[user]/.ssh'. 
Enter passphrase (empty for no passphrase): 
[输入的口令不会显示在屏幕上] 
Enter same passphrase again: 
[重新输入一遍口令,如果忘记了口令就只能重新生成一次密匙了] 
Your identification has been saved in /home/[user]/.ssh/identity. 
[这是你的私人密匙] 
Your public key has been saved in /home/[user]/.ssh/identity.pub. 
The key fingerprint is: 2a:dc:71:2f:27:84:a2:e4:a1:1e:a9:63:e2:fa:a5:89 [user]@[local machine] 
“ssh-keygen –d”做的是几乎同样的事,但是把一对密匙存为(默认情况下)“/home/[user]/.ssh/id_dsa”(私人密匙)和“/home/[user]/.ssh/id_dsa.pub”(公用密匙)。 
现在你有一对密匙了:公用密匙要分发到所有你想用ssh登录的远程主机上去;私人密匙要好好地保管防止别人知道你的私人密匙。用“ls –l ~/.ssh/identity”或“ls –l ~/.ssh/id_dsa”所显示的文件的访问权限必须是“-rw-------”。 
如果你怀疑自己的密匙已经被别人知道了,不要迟疑马上生成一对新的密匙。当然,你还要重新分发一次公用密匙。 
分发公用密匙 
在每一个你需要用SSH连接的远程服务器上,你要在自己的家目录下创建一个“.ssh”的子目录,把你的公用密匙“identity.pub” 拷贝到这个目录下并把它重命名为“authorized_keys”。然后执行: 
chmod 644 .ssh/authorized_keys 
这一步是必不可少的。如果除了你之外别人对“authorized_keys”文件也有写的权限,SSH就不会工作。 
如果你想从不同的计算机登录到远程主机,“authorized_keys”文件也可以有多个公用密匙。在这种情况下,必须在新的计算机上重新生成一对密匙,然后把生成的“identify.pub”文件拷贝并粘贴到远程主机的“authorized_keys”文件里。当然在新的计算机上你必须有一个帐号,而且密匙是用口令保护的。有一点很重要,就是当你取消了这个帐号之后,别忘了把这一对密匙删掉。

香港云主机