资讯

展开

Linux配置ssh互信

作者:快盘下载 人气:

一. 简单介绍

一般使用scp远程拷贝操作时,需要输入目标服务器的用户名和密码,这个时候可以做linux服务器之间ssh互信配置, 这样在多个linux服务器之间做操作时就可以免密登陆。

ssh互信配置的原理简单来说,就是各自服务器存放了目标主机的证书,当执行登陆时,自动完成认证,从而不需要再输入任何密码。

Linux配置ssh互信

二. 配置过程

具体步骤:

1. 登陆服务器1

2. 建立ssh相关目录: mkdir ~/.ssh

3. 设置ssh的权限: chmod 700 ~/.ssh

4. 生成RSA公钥: ssh-keygen -t rsa (请一直回车,直至提示结束)

5. 将公钥(名为id_rsa.pub文件)追加到认证文件(名为authorized_keys文件)中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Linux

6. 设置认证文件的权限:

chmod 600 ~/.ssh/authorized_keys

7. 服务器1的配置完成, 在其他服务器上执行step1~6相同的操作。

8. 执行多个服务器之间的公钥信息的追加copy,把所有节点的id_rsa.pub 公钥信息追加到一个文件中(authorized_keys),然后copy到所有的linux服务器上替换认证文件。

9. 在多个节点间验证ssh免密登陆配置是否生效。

如果在多个节点间验证ssh免密登陆有问题,有可能是公钥信息没有copy完整,可以重新执行下以上copy覆盖步骤,再次验证。

三. 互信失败原因

多数情况下,可以登录成功。但是也会出现配置不正确,导致失败的时候。

1.检查authorized_keys文件权限,并设置为700

chmod 700 authorized_keys

2.检查/etc/ssh/sshd_config文件

将 #StrictModes yes 设置为 StrictModes no
将 #AuthorizedKeysFile .ssh/authorized_keys 设置为 AuthorizedKeysFile .ssh/authorized_keys

ssh

3.删除/root/.ssh/known_hosts文件

4.重启ssh:service sshd restart

登陆目标机器,查看sshd的日志信息。日志信息目录为,vi /var/log/secure你会发现如下字样的日志信息。Jul 22 14:20:33 v138020.go sshd[4917]:

Authentication refused: bad ownership or modes for directory /home

原因二:文件权限配置问题

sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。

用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
rsa_id权限必须为600
chmod 755 hebei/
chmod 755 .ssh
chmod 644 id_rsa.pub authorized_keys
chmod 600 id_rsa

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!