Linux免密登录理解

linux有免密登录,这个功能在搭建hadoop集群时很有用,因为有了它远程启动集群或做其他操作就不需要一遍遍的输入密码了,参考博文下面记录一下。

公钥私钥对

linux下通过ssh-keygen -t rsa命令可以在本机生成一对公钥私钥对(使用的是rsa非对称加密算法,rsa是三个数学家的名字首字母),保存在~/.ssh下。如下图是设置了免密登录的机器上保存的结果。

(1)id_rsa:秘钥,刚开始会生成

(2)id_rsa.pub:公钥,刚开始和私钥一起生成

(3)authorized_key:记录来访的其他服务器公钥,只有成对生成的私钥才能解密公钥加密的内容,刚开始没有此文件

(4)known_hosts:记录来访的其他服务器的信息,一般通过ssh,scp和ssh-copy-id命令会记录,刚开始没有此文件

设置免密登录

设置免密登录需要使用ssh-copy-id userid@服务器ip地址命令来设置,使用此命令后会将当前机器A的公钥发送到对方B,并保存在对方~/.ssh的authorized_key文件中,这样A就可以免密登录B,初次登录会有提示你确认要访问吗,当第一次连接后,B服务器上会生成known_hosts文件,保存A机器的信息,这样下次A免密登录B就不再提示。

免密登录原理

以下是免密登录原理示意图,可以看出A如果想免密登录B,需要将A机器上生成的公钥发送B,同理如果B想免密登录A,同样需要将B机器上的公钥发送A。

以上是对linux下ssh免密登录的理解,感谢博主的文章。

参考博文:

https://www.cnblogs.com/zqj-blog/p/10445598.html ssh连接原理和免密登录都可以参考

猜你喜欢

转载自www.cnblogs.com/youngchaolin/p/11706692.html