首先有3台机器node1,node2,node3主机名,并将主机名以及ip解析写入hosts,详情可以看(centos6.5配置hosts方法以及作用)
1首先登录客户端
输入ssh node1 发现需要密码
2.在node1中输入如下命令生成公钥和私钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa3.执行后进入cd ~/.ssh/目录会发现生成了id_dsa,id_dsa.pub,known_hosts三个文件,其中id_dsa.pub是公钥,id_dsa是私钥
4.先设置node1本地免密码登录,输入如下命令
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys(将公钥追加到授权)
6.这时执行例如ssh node1就会自动登录成功了,执行exit退出
7.在其余node2,node3等机器上执行
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
并给自己授权,否则登录的时候就会出现警告确认
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
8.将node1机器上生成的公钥轮流拷贝到其余机器上的opt目录下,执行
scp id_dsa.pub root@192.168.108.12:/opt/
9.在被拷贝的机器上执行
cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys(追加授权)
10.执行ssh node2就发现可以免密码登录了