背景:
好多linux系统需要维护,那么就需要配置SSH免密钥登陆,此处涉及双向和单向两种。详情参见
环境:
master:
192.168.38.45
slave:
192.168.38.58
192.168.38.60
首先配置单向的也就是master到slave的免密钥ssh登陆。
单向配置:
1.在master和所有slave上,使用yourname用户名执行:
ssh-keygen -t dsa -P '' -f /home/yourname/.ssh/id_dsa
2.在master的/home/yourname/.ssh目录下,执行 :
cat id_dsa.pub > authorized_keys
3.将master上的authorized_keys拷贝到所有slave的相同目录下。命令:
scp /home/yourname/.ssh/authorized_keys [email protected]:/home/yourname/.ssh/ scp /home/yourname/.ssh/authorized_keys [email protected]:/home/yourname/.ssh/
此时可以master向slaves单向免密钥登陆
如果打算循环双向登陆那么参见如下步骤
双向:
1.在master和所有slave上,使用yourname用户名执行:
ssh-keygen -t dsa -P '' -f /home/yourname/.ssh/id_dsa
2.在master的/home/yourname/.ssh目录下,执行 :
cat id_dsa.pub > authorized_keys
3..将master上的authorized_keys拷贝到某slave的相同目录下。命令:
scp /home/yourname/.ssh/authorized_keys [email protected]:/home/yourname/.ssh/
4.把58信息加入到authorized_keys:
cat id_dsa.pub >> authorized_keys
5.把58上的 authorized_keys拷贝到60上并加入authorized_keys:
scp /home/yourname/.ssh/authorized_keys [email protected]:/home/yourname/.ssh/ cat id_dsa.pub >> authorized_keys
6.此时authorized_keys拥有所有机器的id_dsa.pub,那么把他scp到其他节点上即可:
scp /home/yourname/.ssh/authorized_keys [email protected]:/home/yourname/.ssh/ scp /home/yourname/.ssh/authorized_keys [email protected]:/home/yourname/.ssh/
此时可以双向了
ps:所有节点的id_dsa.pub 都必须加入到authorized_keys,那么如果集群中增加一个节点如何操作呢?增加进去然后全部scp分发出去
务必确认如下问题:
1./etc/ssh/sshd_config中对应的AuthorizedKeysFile .ssh/authorized_keys是配置了的
2.如果没有配置那么需要配置然后重启:/etc/rc.d/init.d/sshd restart
3.权限问题
chmod 700 .ssh
chmod 600 authorized_keys