Linux SSH免密码登录配置总结

一、原理

我们使用ssh-keygen在ServerA上生成私钥跟公钥,将生成的公钥拷贝到远程机器ServerB上后,就可以使用ssh命令无需密码登录到另外一台机器ServerB上。

生成公钥与私钥有两种加密方式,第一种是rsa(默认),还有一种是dsa,使用时两种方式随便选一种即可

/usr/bin/ssh-keygen -t [rsa | dsa]
如果直接执行ssh-keygen,那么默认采用rsa生成公钥跟私钥

二、操作步骤

互信的原理了解了,我们可以把配置ssh互信的步骤进行有效的分割。
1.在要配置互信的机器(web-15和web-211)上生成各自经过认证的key文件。
2.将所有的key文件汇总到一个总的认证文件中。
3.将总的认证文件分发到想要进行互信的机器(web-211,web-15)
4.互信的验证

例如有如下两台机器:

主机 用户
192.168.27.211 web211
192.168.27.15 web15

第一步:登录192.168.27.211上面切换到web211用户

1.[web211@master01 ~]$ /usr/bin/ssh-keygen -t rsa

按三次回车,在~/.ssh/目录下面便会生成如下id_rsa(私钥)  id_rsa.pub(公钥)这两个文件

第二步:登录192.168.27.15上面切换到web15用户

1.[web15@Node03 ~]$ /usr/bin/ssh-keygen -t rsa 

2.[web15@Node03 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

第三步:在192.168.27.15上面汇总id_rsa.pub到authorized_keys文件中

1.[web15@Node03 ~]$ ssh [email protected] cat /home/web211/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

第四步:将192.168.27.15上面的authorized_keys文件分发到192.168.27.211上面

1.[web15@Node03 .ssh]$ scp ~/.ssh/authorized_keys [email protected]:~/.ssh/authorized_keys

第五步:修改authorized_keys文件的权限,只有当前互信用户可读写,否则通不过SSH的安全检查

15跟211都得执行:这步搞得我蛋疼了许久,这也是我做笔记的原因。

1.chmod 600 ~/.ssh/authorized_keys

到此为止,互信配置完毕,检测一下是否成功。

1.[web15@Node03 .ssh]$ ssh [email protected] 

2.[web211@master01 ~]$  --这里变成了web211了,说明免登录进入了92.168.27.211 

下面关于SSH相关的文章您也可能喜欢,不妨参考下:

猜你喜欢

转载自www.linuxidc.com/Linux/2016-03/128914.htm