ssh无密码登录设置

无密码登录原理

    Master作为客户端,要实现无密码公钥认证,连接到服务器Salve上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端Master复制到Slave上。

Master需要进行的操作

  (1) Master上执行命令生成密码对
    ssh-keygen –t rsa –P ''

  (2)在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  (3)下面还需要做两件事
  1:修改authorized_keys权限
    chmod 600 ~/.ssh/authorized_keys
  2:root设置"/etc/ssh/sshd_config"
    RSAAuthentication  yes
    PubkeyAuthentication  yes
    AuthorizedKeysFile    .ssh/authorized_keys

  (4)将文件id_rsd.pub发送到slave上
    scp ~/.ssh/id_rsa.pub hadoop@slave?:~/

Slave上需要进行的操作

    chmod 700  home/hadoop/.ssh
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys


  

原文地址:https://www.cnblogs.com/cfox/p/3388396.html