今天遇到免密登陆问题,服务器A能免密登陆到服务器B,把A服务器的密钥拷贝到C机器上,发现不能免密登陆到B服务器,据这个问题做了如下测试。
准备阶段:首先有两台服务器可以免密登陆 A---免密---B 没有问题。
1、把A 服务器私钥考到C 服务器上,此时C 服务器.ssh 下只有id_rsa 文件,发现能免密登陆到B 服务器。
2、在C 服务器上生成公私钥,把A 服务器的私钥替换C 服务器的私钥,此时C 服务器有公私钥,但不是一对(也就是公私钥不匹配),发现不能免密登陆到B 服务器。
3、把A 服务器上的公私钥都拷贝到C 服务器。发现能免密登陆到B 服务器。
结论:实现免密登陆时,满足下列条件之一。
a、控制端只有私钥,且和远程被控端公钥是一对。
b、控制端有公私钥,且公私钥是一对,公钥和远程被控端是同一个。