标签:从零开始构建集群前期准备之---ssh各服务器间无密码登陆
集群中服务器数量较多时,各节点的密码不相同之间不停切换,需要牢记各节点密码并输入密码,就成了一件很痛苦的事了。本文讲的SSH各服务器间无密码登陆,就是解决这个问题的。
本文,我们需要实现node1、node2、node3之间不需要输入密码直接通过:
ssh node1或ssh 192.168.100.130直接登录
各节点列表:
node1 192.168.100.130
node2 192.168.100.100
node3 192.168.100.101
实现过程:
首先实现node1无密码登陆node2。
node1节点操作:
1、在node1机器上生成公钥/私钥对
[root@node1 ~]# ssh-keygen -t rsa -P "
(注:-P表示密码,-P ‘‘ 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/root下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。)
2.把node1机下的id_rsa.pub复制到node2机下,在node2机的.ssh/authorized_keys文件里,我用scp复制。
[root@node1 ~]# scp .ssh/id_rsa.pub root@192.168.100.100:/root
root@192.168.100.100‘s password:
id_rsa.pub 100% 392 0.4KB/s 00:00
由于还没有免密码登录的,所以要输入密码。
node2节点操作:
3.node2机把从node1机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里。
[root@node2 ~]# cat id_rsa.pub >> .ssh/authorized_keys
[root@node2 ~]# chmod 600 .ssh/authorized_keys
(注:authorized_keys的权限要是600。)
再添加机器,就是不停的重复第2步和第3步操作。
大功告成!!!
扩展:主机名登录
1、通过修改hosts文件可以实现通过主机名登录
[root@node1 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.130 node1
192.168.100.100 node2
192.168.100.101 node3
2、使用scp复制hosts文件到各各节点。
[root@node1 ~]# scp /etc/hosts root@192.168.100.100:/etc/
hosts 100% 226 0.2KB/s 00:00
[root@node1 ~]# scp /etc/hosts root@192.168.100.101:/etc/
hosts 100% 226 0.2KB/s 00:00
结果演示:
[root@node1 ~]# ssh node2
Last login: Tue Mar 3 17:42:18 2015 from node1
[root@node2 ~]# ssh node3
Last login: Thu Dec 18 17:14:29 2014 from 192.168.100.130
[root@node3 ~]#
总结:
登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)
想让node1,node2机无密码互登录,那node2机以上面同样的方式配置即可。
本文出自 “gentoo” 博客,请务必保留此出处http://linuxgentoo.blog.51cto.com/7678232/1617092
标签:从零开始构建集群前期准备之---ssh各服务器间无密码登陆
原文地址:http://linuxgentoo.blog.51cto.com/7678232/1617092