不知道对方密码,还想互相免密登录怎么办?

领导:小王啊,咱们有二十几台机器,你去调一下,把他们相互之间可以免密登录。
我 :好的领导,root密码多少?
领导 :不知道。。。通过跳板机可以登录到每台机器
我 : 。。。

第一步,生成密钥证书(每台都生成)

ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' -q
一直回车即可生成无密码的密钥对

第二部,检查是否每台机器都生成了

ll /root/.ssh/
id_rsa   私钥 
id_rsa.pub   公钥

第三步,将所有机器的公钥(id_rsa.pub)复制到本地文档

注意文档名字命名为:authorized_keys 为什么是这个?
cat /etc/ssh/sshd_config 就知道了

把所有机器的公钥复制到这个命名为authorized_keys的文档之后,效果是这样的:
cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9PKCiOxvk9ZFOC5Fl12ExJsRIDxlTY0TIcM0T77ri+URWb8w8ww36Z150Fs+Bi3KeXjs8bwfNjPWZWTg3bsC8iugn7Fww9y/ue4yQXEh17nYTcyWX3PZhzVFZ5X6syaZOp7D7L8+aTGUvwcfdn6BXIbIfyQFDRVA0cNI+VJAhb1vCpEOxDr2IsfLhdHuubnPT3eppglSMh9b0o/my9dSlXgnrXvsWFoZ40eaQpkjvavuYMRdUJF10m5WsorkqapIRdOKkAKvwKQ3L4snVFB6nRYnAga5Ldu+T+7IyWDjRPN98ulZypbWK80JWP5TykMOYU9wFCpx8IiGWjctN6gXH root@xor-es-storage01
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClXqekp57425IlJR41d8nbZaEmo9Ji8Gtr0xMpRUcLbwDta6uAIlNDAMoXZqhtYiAP1qjay280zU+T/xjNJs6Mw07DNI39lRotbQJXPMafawCul3jiMbplypstHch6fO5fIfkmAzIFvojJZHmBZQqtWxdrCFu4yxGB+mgeu+Gmv/lFKYcQxB7sln8Pg1KWuozfzHh6mTm6mi1Rvu+/3D7yeK4R38jKH991eRfVuD78V84nc68i5RyVPzoDBkNvPNJ2yU8HPCMaJ3QGcNKxCex2FXeSdw+qZBmi9P3INBe3j/dU/yEco3dfMSYTdYxgk7Ko9KwHTyhiPxoE0+f9SSTj root@xor-es-storage02

第四步,将此文件依次上传到所有节点的/root/.ssh/

ll /root/.ssh/
authorized_keys   包含所有机器的公钥
id_rsa            私钥
id_rsa.pub        自己的公钥
known_hosts       登录其他机器的证据 下次登录不用输入yes了 可有可无。

OK,至此所有机器之间可互相免密登录了

其实原理很简单,就是将所有机器的公钥复制到了一个文件,再依次上传到所有的机器,就可以互相免密登录了。。。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。