前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux配置ssh互信

Linux配置ssh互信

作者头像
浩Coding
发布2021-12-27 10:12:46
10K0
发布2021-12-27 10:12:46
举报
文章被收录于专栏:浩Coding浩Coding

一. 简单介绍

一般使用scp远程拷贝操作时,需要输入目标服务器的用户名和密码,这个时候可以做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文件)中:

代码语言:javascript
复制
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

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
复制
chmod 700 authorized_keys

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

代码语言:javascript
复制
将 #StrictModes yes 设置为 StrictModes no
将 #AuthorizedKeysFile .ssh/authorized_keys 设置为 AuthorizedKeysFile .ssh/authorized_keys

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
复制
用户目录权限为 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
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浩Coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档