linux免密钥SSH登陆配置

背景:
好多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 yourname@192.168.38.58:/home/yourname/.ssh/  
scp   /home/yourname/.ssh/authorized_keys yourname@192.168.38.60:/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 yourname@192.168.38.58:/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 yourname@192.168.38.60:/home/yourname/.ssh/  
cat id_dsa.pub >> authorized_keys  
 

6.此时authorized_keys拥有所有机器的id_dsa.pub,那么把他scp到其他节点上即可:

scp   /home/yourname/.ssh/authorized_keys yourname@192.168.38.58:/home/yourname/.ssh/  
scp   /home/yourname/.ssh/authorized_keys yourname@192.168.38.45:/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

发表评论

电子邮件地址不会被公开。 必填项已用*标注