Linux 集群间无密码登录的配置


介绍
越来越多的Linux中使用的组件都需要无密码登录,索性把这个作为第一篇文章吧。我们现在有一组安装了Linux操作系统的机器,每台机器上都有一个名叫Test的用户。我们希望在这组机器之间做无密码登录时都使用Test用户。每个机器都有一个唯一的主机名:比如 Node1, Node2, Node3……
修改机器配置

1.        切换到root用户

2.        编辑 /etc/hosts 文件,把所有机器的IP和主机名都写在里面

3.        编辑 /etc/sysconfig/network 文件 设置HOSTNAME=主机名

4.        执行命令:hostname 主机名

5.        编辑 /etc/ssh/sshd_config 文件,把47,48,49三行的注释放开。这三行的内容是:

RSAAuthentication yes  允许用RSA密钥进行身份验证

PubkeyAutentication yes 允许用公钥进行身份验证

AuthorizedKeysFile .ssh/authorized_keys本机保存的公钥的文件(这个比较重要

6.        切换回Test用户

 

创建密钥

用Test用户做如下操作

1.      进入到Test用户的home 目录,查看有无隐藏路径是 .ssh。如果没有,创建一个。

2.      查看.ssh目录的权限,是否是 700 (drwx --- ---) 不是的话修改为700

3.      进入.ssh 目录

4.      生成ssh密钥ssh-keygen –t rsa –f ./xxxx  此命令帮你生成了一个私钥和一个公钥。最后这个xxxx是私钥文件的名字,你随便定,公钥名字就是xxxx.pub 。(需要脑补公钥与私钥相关知识点这里

生成key文件

用Test用户做如下操作

1.      在第一台机器的 ~/.ssh/目录下创建一个名字叫authorized_keys 的文件。注意这个文件的权限是600

2.      把你的公钥文件的内容追加到authorized_keys 文件中 catxxxx/pub >> authorized_keys

3.      把authorized_keys文件发送到第二台机器上的 ~/.ssh/目录下,再把第二台机器上的公钥文件追加进来。

4.      这样我们一台一台机器的做下去,最后一台机器做完以后,这个机器上的authorized_keys文件就是我们需要的。我们把它发送回之前那些机器上,注意存储路径为 ~/.ssh/ 原有的直接覆盖掉就可以了。

 

把私钥加到 ssh –agent服务中

用Test用户做如下操作

 

1.      进入到Test 用户的home目录

2.      打开 .bash_profile文件

3.      在该文件最后加入如下两行

a)         eval `ssh-agent -s`

b)        ssh-add ~/.ssh/xxxx    

这里的xxxx就是你的私钥文件的名字

 

OK了

重新启动你的linux集群中的所有机器之后,用Test用户登录随便一台机器,都可以用ssh 主机名 做无密码登录了。

 

附录-远程拷贝文件的方法

         在不同机器间互相拷贝文件是一个很实用的功能,我们用scp命令来做

         scp 文件名用户名@IP或主机名:存储路径

         想了解更多的话,就在命令行里输入 scp 或者 scp –help 看看帮助文档吧


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值