ssh无密码原理简介

该文章转自某篇文章,但是一时无法找到出处。如有知道,请通知


首先在master上生成一个秘钥对,包括一个公钥和一个私钥,并将公钥复制到所有的slave上。
然后到master通过ssh连接上slave时,slave就生成一个随机数并用master的公钥对随机数进行加密,
并发送给master,然后master收到加密数之后再用私钥解密,并将解密数传给slave。slave确认解密数
无误后就允许master不输入密码进行连接了。




步骤如下:


1. 执行命令 ssh-keygen -t -rsa, 之后一路回车,查看刚生成的无密码秘钥对,cd ~/.ssh
2.把id_rsa.pub追加到授权的key里面去,执行命令 cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
3.修改刚生成文件的权限 chmod 600 ~/.ssh/authorized_keys
4.修改 /etc/ssh/sshd_config 中的对应项如下
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile.ssh/authorized_keys


#PasswordAuthentication yes
PermitEmptyPasswords yes
#PasswordAuthentication yes


5. 将公钥复制到所有的slave机器上:scp ~/id_rsa.pub slave id:~/
6.在slave机器上创建.ssh 文件夹: mkdir ~/.ssh 然后执行 700 ~/.ssh
7. 把mater的公钥追加到authorized_keys中。 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys, 然后执行chmod 600 ~/.ssh/authorized_keys
8.重启ssh服务 service sshd restart
9.在所有的slave机器上重复第4步到第8步
【ssh无密码原理简介】

??

    推荐阅读