centos7设置SSH免密码登录教程

在linux中进行各个系统之间进行ssh通信时,必须知道对方的账户密码,才能进行相应的操作。

思路:通过RSA加密算生成了密钥,包括私钥和公钥,我们把公钥追加到用来认证授权的key中去。
每台机器配置本地免密登录,然后将其余每台机器生成的~/.ssh/id_dsa.pub公钥内容追加到其中一台主机的authorized_keys中,然后将这台机器中包括每台机器公钥的authorized_keys文件发送到集群中所有的服务器。这样集群中每台服务器都拥有所有服务器的公钥,这样集群间任意两台机器都可以实现免密登录了。

以上思路摘自培训班某个同学的思路。以下为该思路的操作步骤。

4台主机配置:
主机: master
从机: slave1
从机: slave2
从机: slave3

1.第一台机器(master)

ssh-keygen -t rsa

生成公钥密钥.png

cat id_rsa.pub >> authorized_keys

把公钥文件放入授权文件中.png

scp ~/.ssh/authorized_keys slave1:~/.ssh/

上述命令如果是在slave1这个节点为初始状态时(未进行任何的ssh操作之前,根目录下没有.ssh目录)

查看是否有.ssh目录.png

如上图,根目录下没有.ssh目录,此时是会出现以下问题的:

错误信息.png

此时需要手动在slave1节点上,进行一次ssh操作,如:ssh slave1
ssh连接.png

上述操作以后,再次执行命令:scp ~/.ssh/authorized_keys slave1:~/.ssh/ 即可
此时在slave1节点中查看就有了节点1的认证文件:

查看认证文件.png

第二台机器(node1)

ssh-keygen -t rsa

生成公钥密钥.png

cat id_rsa.pub >> authorized_keys
scp ~/.ssh/authorized_keys slave2:~/.ssh/

(此时还是会出现第一台机器一样的问题)

第三台机器(node2)

ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
scp ~/.ssh/authorized_keys slave3:~/.ssh/

(此时还是会出现第一台机器一样的问题)

第四台机器(node3)

ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys

scp ~/.ssh/authorized_keys master:~/.ssh/
scp ~/.ssh/authorized_keys slave1:~/.ssh/
scp ~/.ssh/authorized_keys slave2:~/.ssh/

以上操作所有都完成之后,所有机器都可以相互免密的话,还需要检查每台机器的~/.ssh/known_hosts文件是否含有四个主机的信息,如下图所示:

known_hosts文件内容.png

如果没有的话,比如master没有,则需要在该机器上重新执行一下ssh master命令,让其生成以上信息即可。

ssh连接主机可生成known_hosts文件内容.png

在node4中测试以下连接均正常:
测试正常.png

其他方式

除了上面这种方式,还可以利用scp-copy-id命令进行认证文件的拷贝操作。具体参见Hadoop安装与集群配置中的第10点。

延伸阅读

更多资讯请阅读:http://www.jianshu.com/u/36a7d3a994ac

作者公众号:蚂蚁与咖啡的故事

公众号二维码:

蚂蚁与咖啡的故事

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值