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 (请一直回车,直至提示结束)

Linux配置ssh互信

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

代码语言:javascript代码运行次数:0运行复制

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Linux配置ssh互信

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

代码语言:javascript代码运行次数:0运行复制

chmod 700 authorized_keys

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

代码语言:javascript代码运行次数:0运行复制

将 #StrictModes yes 设置为 StrictModes no将 #AuthorizedKeysFile .ssh/authorized_keys 设置为 AuthorizedKeysFile .ssh/authorized_keys
Linux配置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的免密码登陆不生效。

代码语言:javascript代码运行次数:0运行复制

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

以上就是Linux配置ssh互信的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/10116.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月12日 16:49:51
下一篇 2025年11月12日 17:03:04

相关推荐

发表回复

登录后才能评论
关注微信