【甘道夫】Ubuntu集群配置免认证登陆

30 篇文章 0 订阅
4 篇文章 0 订阅
引言
这是几年前写的文章,但一直以来该问题被重复问到,所以我决定将它重新搬上屏幕。


正文
三个节点:masternode    slavenode1   slavenode2

第一步:所有节点分别生成密钥对
所有节点都要做:命令行中,在当前用户根目录执行
ssh-keygen -t rsa
密钥成功生成后是存储在当前用户根目录下的.ssh隐藏目录下,直接用 cd .ssh 就能进入,然后用ls命令就能看到id_rsa    id_rsa.pub

第二步:拷贝生成authorized_keys
所有节点都要做:将id_rsa.pub拷贝到文件anthorized_keys文件中,在 .ssh 文件夹下用命令 
cp id_rsa.pub authorized_keys

第三步:合并所有节点的authorized_keys文件,并分发到所有节点根目录的 .ssh 隐藏文件夹下
slavenode1中将authorized_keys发送到masternode的temp1临时文件中:
scp ~/.ssh/authorized_keys masternode:~/.ssh/temp1

slavenode2中将authorized_keys发送到masternode的temp2临时文件中:
scp ~/.ssh/authorized_keys masternode:~/.ssh/temp2

masternode中将temp1和temp2附加到authorized_keys文件中,这样的话masternode的authorized_keys文件就包含了所有节点的公钥:
cat ~/.ssh/temp1 >> ~/.ssh/authorized_keys
cat ~/.ssh/temp2 >> ~/.ssh/authorized_keys
rm ~/.ssh/temp1
rm ~/.ssh/temp2

masternode中将合并好的authorized_keys文件分发到各节点:
scp ~/.ssh/authorized_keys slavenode1:~/.ssh/
scp ~/.ssh/authorized_keys slavenode2:~/.ssh/

第四步:所有系统配置  /etc/ssh/sshd_config  文件,使得系统使用公钥认证,并能识别 authorized_keys
cd /etc/ssh/ 以后,sudo gedit sshd_config 在文件中找到以下几行

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile%h/.ssh/authorized_keys
把#去掉即可,系统就能通过authorized_keys来识别公钥了

第五步:检查sshd是否运行/安装,如果未安装将不能成功相互连接
运行  ps -e | grep ssh,查看是否有sshd进程
如果没有,说明server没启动,通过 /etc/init.d/ssh -start 启动server进程
如果提示ssh不存在 那么就是没安装server
通过 sudo apt-get install openssh-server命令安装即可

第六步:解决 Agent admitted failure to sign using the key
如果出现该错误,则需要在所有的节点都执行   ssh-add   ~/.ssh/id_rsa   将私钥加入ssh。
至此,大功告成!!应该就可以在任意一台机器使用 ssh  masternode/slavenode1/slavenode2 免密码连入对方了!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值