Linux之间配置SSH互信(SSH免密码登录)
当我们在服务器上通过SSH登录其他服务器时,往往需要输入密码才能连接,但是这样太麻烦了。其实,我们可以通过证书的方式,简化SSH过程,免去SSH登入时需要输入账号密码的过程。
接下来我们就介绍一下如何配置。
一、SSH服务端机器
- 以root用户登录,更改ssh配置文件
/etc/ssh/sshd_config,去除以下配置的注释
RSAAuthentication yes #启用rsa认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
- 重启SSH服务
[root@server /]#systemctl restart sshd //重启ssh服务
二、SSH客户端机器
- 生成公钥私钥对
[root@client /]#ssh-keygen -t rsa
一路默认回车,系统在/root/.ssh下生成id_rsa、id_rsa.pub
- 把id_rsa.pub发送到服务端机器上
[root@client /]#ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.20
注:命令可简单记忆为 ssh-copy-id -i 公钥文件 服务器ip地址
可以看到成功将公钥对发送到了其他服务器,更多服务器一样操作即可。
- 验证连接其他服务器时是否不需要输入密码
[root@client /]#ssh 192.168.1.20 #server ip
可以看到如下图: 使用SSH登录另一台服务器时不需要输入账号密码了。
