CentOS7上SSH免密码配置

来源:互联网 发布:json 解析时key为数组 编辑:程序博客网 时间:2024/05/29 14:18
我的集群有3个节点:192.168.40.134  192.168.40.135  192.168.40.137

一个master机(192.168.40.134),两个slave机子

1、在每个节点加入IP与主机名的映射,并且打开ssh的注释
(1)、修改 /etc/hosts文件,在hosts文件中加入IP与主机名的映射
    192.168.40.134    master
    192.168.40.135    slave1
    192.168.40.137    slave2
(2)、修改 /etc/ssh/sshd_config ,把
    #RSAAuthentication yes
    #PubkeyAuthentication yes
    #AuthorizedKeysFile    .ssh/authorized_keys
    注释打开,CentOS7中,
    #AuthorizedKeysFile    .ssh/authorized_keys
    这一行已经是打开的了 ,所有只要打开前两行的注释

2、在master机子生成私钥和公钥, 并将公钥加入authorized_keys文件中
 (1)、执行ssh-keygen -t rsa -P "",会有一个提示输入,
        直接回车,生成私钥和公钥
 (2)、将公钥加入authorized_keys文件中
        cd  ~/.ssh
        cat id_rsa.pub >> authorized_keys
        
3、在两个slave机子上也生成公钥和私钥
   ssh-keygen -t rsa -P "",
4、并将公钥加到master机子上的authorized_keys文件中,
   如下操作:
  (1)分别在slave1和slave2上执行
    cd  ~/.ssh
    scp id_rsa.pub liugz@master:~/.ssh/id_rsa.pub.s1
    scp id_rsa.pub liugz@master:~/.ssh/id_rsa.pub.s2
    会有询问yes/no 输入yes,
    还会要求输入密码,输入密码,两台slave机的公钥此时发送到master上了
  (2)到master机子上把slave1和slave2的公钥加入到authorized_keys文件中
    cat id_rsa.pub.s1 >> authorized_keys
    cat id_rsa.pub.s2 >> authorized_keys
5、修改master机子上authorized_keys文件的权限为600
       chmod  600 authorized_keys

6、将master机子上的authorized_keys文件发送到slave1和slave2上
    scp authorized_keys liugz@slave1:~/.ssh/
    scp authorized_keys liugz@slave2:~/.ssh/
可能还要重启一下服务  
sudo /bin/systemctl restart  sshd.service(我的机子上没重启就成功了)
    
最后,验证一下是否配置成功了
ssh  localhost  
ssh  master
ssh  slave1
ssh  slave2
第一次会要求输入yes/no,后面就不需要了

我在公司机子和自己笔记本试了,发现自己的机子上成功不了,于是我

拿错误提示百度了下,发现还要加一下私钥,执行

sshd_add  id_rsa

后,试了下可以了




0 0
原创粉丝点击