ssh无密码原理简介

来源:互联网 发布:怎么知道路由器mac地址 编辑:程序博客网 时间:2024/06/15 17:05

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


首先在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步



0 0
原创粉丝点击