1.大致流程

有时需要从服务器A免密连接到服务器B,这时需要在服务器A生成私钥和公钥,大致过程其实就2步。

1.1 在服务器A生成公钥和私钥

在服务器A上输入如下命令:

ssh-keygen -t rsa

过程中按三次回车,执行结束如下图:

Linux生成私钥和公钥免密连接-LMLPHP

然后我们进入/root/.ssh/文件夹,查看文件夹的内容,如下所示:

Linux生成私钥和公钥免密连接-LMLPHP

其中 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。

05-11 22:48