Linux之间配置SSH互信(SSH免密码登录)

2023/02/23LinuxSSH

当我们在服务器上通过SSH登录其他服务器时,往往需要输入密码才能连接,但是这样太麻烦了。其实,我们可以通过证书的方式,简化SSH过程,免去SSH登入时需要输入账号密码的过程。

接下来我们就介绍一下如何配置。

一、SSH服务端机器

  1. 以root用户登录,更改ssh配置文件/etc/ssh/sshd_config,去除以下配置的注释
RSAAuthentication yes #启用rsa认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
  1. 重启SSH服务
[root@server /]#systemctl restart sshd  //重启ssh服务

二、SSH客户端机器

  1. 生成公钥私钥对
[root@client /]#ssh-keygen -t rsa

一路默认回车,系统在/root/.ssh下生成id_rsaid_rsa.pub

  1. 把id_rsa.pub发送到服务端机器上
[root@client /]#ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.20

注:命令可简单记忆为 ssh-copy-id -i 公钥文件 服务器ip地址

可以看到成功将公钥对发送到了其他服务器,更多服务器一样操作即可。

  1. 验证连接其他服务器时是否不需要输入密码
[root@client /]#ssh 192.168.1.20 #server ip

可以看到如下图: 使用SSH登录另一台服务器时不需要输入账号密码了。

最近一次更新 3/20/2025, 7:54:12 AM