linux免密钥SSH登陆配置教程详解

发布时间:2020-06-17编辑:脚本学堂
本文介绍了linux免密钥SSH登陆的配置教程,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/ 

此时可以双向了
备注:所有节点的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