使用SSH实现Linux下的安全数据传输(2)

在第一次登录的时候,OpenSSH将会提示用户它不知道这台登录的主机,只要键入“yes”,就会把这台登录主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。然后,SSH提示用户输入远程主机上用户账号的口令。这样,就建立了SSH连接,这之后就可以象使用telnet那样方便地使用SSH了。

SSH的密匙管理

1.生成用户自己的密匙对

用下面的命令可以生成公钥/私钥对: ssh-keygen t 类型。如果远程主机使用的是SSH 2.x就要用这个命令: ssh-keygen d。在同一台主机上同时有SSH1和SSH2的密匙是没有问题的,因为密匙是存在不同文件中的。ssh-keygen命令运行之后会显示下面的信息:

     # ssh-keygen -t rsa      Generating public/private rsa key pair.      Enter file in which to save the key (/home/.username/ssh/id_rsa):      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.      The key fingerprint is:      38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c username@localhost      Generating RSA keys:      Key generation complete.  
  

“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-------”。

如果用户怀疑自己的密匙已经被别人知道了,应当马上生成一对新的密匙。当然,这样做之后还需要重新分发一次公用密匙,才能正常使用。

2.分发公用密匙

在每一个用户需要用SSH连接的远程服务器上,都要在自己的主目录下创建一个“.ssh”的子目录,把用户的公用密匙“identity.pub”拷贝到这个目录下并把它重命名为“authorized_keys”。然后执行命令:

     chmod 644 .ssh/authorized_keys  
  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/62b56e834127238803049b68563ca061.html