分享

两台机器之间ssh免密码登录

 爱睡觉的猫 2022-04-16

A服务器通过 ssh 免密码登录 B 服务器
步骤如下:

A 服务器:#(连续三次回车,即在本地生成了公钥和私钥,不设置密码)[root@localhost ~]# ssh-keygen -t rsa#(需要输入密码--如果B 服务器上存在.ssh文件夹,跳过此步)[root@localhost ~]# ssh root@B服务器I -p 22 "mkdir .ssh"[root@localhost ~]# scp -P 22 ~/.ssh/id_rsa.pub root@B服务器IP:.ssh/id_rsa.pubB 服务器:# touch /root/.ssh/authorized_keys (如果已经存在这个文件, 跳过这条)# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys (将id_rsa.pub的内容追加到authorized_keys 中)

小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)

想让A,B机无密码互登录,那B机以上面同样的方式配置即可。


  • 原理

    • 1.在A上生成公钥私钥。

    • 2.将公钥拷贝给server B

    • 3.Server A向Server B发送一个连接请求。

    • 4.Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A。

    • 5.Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。

总之:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多