要实现CentOS无密码SSH登陆,需分别在服务器端(被登录的机器)和客户端(用于SSH的机器)上分别配置。

  • 服务器侧配置:
  1. 确认本机sshd的配置文件(需要root权限)

  # vi /etc/ssh/sshd_config
  找到以下内容,并去掉注释符”#“
  RSAAuthentication yes
  PubkeyAuthentication yes
  AuthorizedKeysFile      .ssh/authorized_keys
   2、重启sshd服务 (需要root权限)
  # systemctl restart sshd

  • 客户端侧配置:

    1.生成公钥和私钥
    2.导入公钥到认证文件,更改权限

1.生成公钥和私钥
  #ssh-keygen -t rsa

   默认在 ~/.ssh目录生成两个文件:
    id_rsa      :私钥
    id_rsa.pub  :公钥

2.导入公钥到认证文件,更改权限
    2.1 导入本机
        # cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  

    2.2 导入要免密码登录的服务器
        首先将公钥复制到服务器
        #scp ~/.ssh/id_rsa.pub xxx@host:/home/id_rsa.pub  

        然后,将公钥导入到认证文件(这一步的操作在服务器上进行)
        #cat /home/id_rsa.pub >> ~/.ssh/authorized_keys 

    2.3 在服务器上更改权限
      #chmod 700 ~/.ssh
      #chmod 600 ~/.ssh/authorized_keys