设置免密登录

免密的核心:
1.每个节点都要生成秘钥(使用公钥id_rsa.pub(或id_dsa.pub)进行免密)
2.每个文件的/root/.ssh目录下都要有authorized_keys文件
且auhtorized_keys文件中存放所有免密关联的机器的公钥

  1. 对master进行自身免密

    启动ssh服务:/usr/sbin/sshd
    查看端口:netstat -tnulp(ssh默认端口22)
    生成密钥对(接三次回车):ssh-keygen(或者ssh-keyfen -t rsa):其中id_rsa为私钥,id_rsa.pub为公钥
    切换到.ssh/目录:cd /root/.ssh/(或cd .ssh)查看当前目录下的文件:ls
    将公钥放置到授权列表文件authorized_keys中:cp id_rsa.pub authorized_keys
    修改授权列表文件authorized_keys的权限:chmod 600 authorized_keys
    验证免密是否成功:ssh localhost(或ssh 用户名 或ssh ip地址)
    PS:生成秘钥还可以为:ssh-keygen -t dsa其中:dsa和上面的rsa都是加密算法

  2. 给其他节点生成秘钥ssh-keygen(接三次回车)
  3. 在master上的把免密关联的其他机器的公钥存储到authorized_keys文件中:scp 用户名@计算机名:路径/文件名 [用户名@计算机名:]路径/文件名
     scp root@slave1:~/.ssh/id_rsa.pub ~/.ssh/slave1.pub
     scp root@slave2:~/.ssh/id_rsa.pub ~/.ssh/slave2.pub
    
  4. 在master上向authorized_keys文件中追加其他免密关联的机器秘钥:cat 路径/公钥文件 >> 路径/authorized_keys
     cat ~/.ssh/slave1.pub >> ~/.ssh/authorized_keys
     cat ~/.ssh/slave2.pub >> ~/.ssh/authorized_keys
    
  5. 当某一机器的authorized_keys文件已存储了所有免密关联的机器的公钥时(我们做的是master),直接把该机器的authorized_keys文件复制给免密关联的其他机器:
    在其他机器上执行:
    •  scp root@master:~/.ssh/authorized_keys ~/.ssh/suthorized_keys
      
  6. 检查是否完成ssh免密:ssh 用户名(不需要输入密码即成功!)

法2:
每台机器下执行:
ssh-copy-id root@master
ssh-copy-id root@slave1
ssh-copy-id root@slave2
即可

posted @ 2021-10-28 22:08  边缘之地  阅读(142)  评论(0)    收藏  举报