一)在本机生成公钥和私钥
1)[root@SamuluIndex ~]# cd .ssh
2)[root@SamuluIndex .ssh]# rm -f * (清除.ssh目录下所有的旧文件)
3)[root@SamuluIndex .ssh]# ssh-keygen,过程中出现三个需要输入的地方直接按回车键
此时在.ssh目录下生成了id_rsa和id_rsa.pub。其中id_rsa是私钥,本机要用;id_rsa.pub是公钥,给其他的机器用。
(二)将公钥上传到远程主机上
[root@SamuluIndex .ssh]# scp id_rsa.pub root@172.20.0.141:/root/.ssh
按照提示输入远程主机(172.20.0.141)的密码后,可看到上传成功的提示:
id_rsa.pub 100% 398 0.4KB/s 00:00
(三)登录远程主机,将客户端公钥写入authorized_keys文件
[root@SamuluIndex .ssh]# ssh 172.20.0.141
Warning: Permanently added '172.20.0.141' (RSA) to the list of known hosts.
root@172.20.0.141's password:
Last login: Tue Apr 29 21:09:27 2014 from 192.168.0.56
[root@tixa ~]# cd .ssh
[root@tixa .ssh]# cat id_rsa.pub >> authorized_keys
此时可在141机器的.ssh目录下看到两个文件authorized_keys和id_rsa.pub。其中id_rsa.pub的主要目的就是把公钥信息写到authorized_keys中。然后把两台主机中的id_rsa.pub都删除掉,否则这台机器将无法不用密码登录别的机器。
(四)退出远程主机,重新登录远程主机
此时发现在100机器上不需要密码就可以登录远程机器141 ,
且在100的机器上的.ssh中保留了两个文件:id_rsa和known_hosts,在141的机器上的.ssh中保留了一个文件:authorized_keys。