1.大致流程
有时需要从服务器A免密连接到服务器B,这时需要在服务器A生成私钥和公钥,大致过程其实就2步。
1.1 在服务器A生成公钥和私钥
在服务器A上输入如下命令:
ssh-keygen -t rsa
过程中按三次回车,执行结束如下图:
然后我们进入/root/.ssh/文件夹,查看文件夹的内容,如下所示:
其中 id_rsa为私钥 id_rsa.pub为公钥,接下来打开id_rsa.pub,将内容复制。
1.2 在服务器B配置服务器A生成的公钥
打开服务器B,将刚刚在服务器A内复制的内容追加到/root/.ssh/authorized_keys内,到这里没有特殊情况就配置成功了。
1.3 意外情况
可能设置完成后还是无法免密登录,那么可以远程连接时加入-vvv在登录时打印日志信息,如下
ssh [email protected] -vvv
在配置的时候遇到过权限不足,在服务器B上将authorized_keys赋予权限
chmod 700 /root/.ssh/authorized_keys
2 总结
大致过程很简单,也没遇到什么神奇的坑,主要用于结合jenkins免密登录发布jar。