Linux互信之基于主机(Hostbased)的SSH互信

举报
工业云大湿兄 发表于 2018/09/03 16:45:06 2018/09/03
【摘要】 前言: 坤哥:用密钥做root用户互信,用Hostbased做普通用户的互信。 前文地址:Linux互信之基于密钥的SSH互信基于主机(Hostbased)的ssh互信1.1 原理前面介绍的是基于密钥的ssh免密,但是在实际配置集群的时候,这种方式在需要创建新用户的时候,就需要在创建用户的时候给每个用户配置免密。所以基于主机的ssh互信更适合集群的普通用户。配置...

前言:

    坤哥:用密钥做root用户互信,用Hostbased做普通用户的互信。

        前文地址:Linux互信之基于密钥的SSH互信

基于主机(Hostbased)的ssh互信

1.1      原理

前面介绍的是基于密钥的ssh免密,但是在实际配置集群的时候,这种方式在需要创建新用户的时候,就需要在创建用户的时候给每个用户配置免密。所以基于主机的ssh互信更适合集群的普通用户。配置一次以后,创建新的用户都可以直接达到ssh免密的效果。

网络上关于这个部分的教程本来就不多,可是在华为云上实作的时候更加是所有的教程的方法用完之后还是不能成功配置。后来定位的最主要的问题是要把旧的hostkey全都删除,重启sshd的服务生成新的hostkey

再来这种基于主机的ssh免密是针对普通用户的,所以root用户在认证的时候会先用基于主机的方式认证,所以会先失败几次,如果还是按照默认的“最多3次尝试”的配置的话,配好主机认证以后root免密就会有问题了,所以在这里将最大尝试数提高了。

1.2      基于主机的ssh免密

场景设定:给普通用户在集群的slavemaster节点之间配置基于主机ssh免密,集群的master节点为ssh-0001,其他slave节点为ssh-0002ssh-0003

(1)                   更新/etc/ssh底下hostkey (如果在root互信的时候做了则不用重复做了)

a.       查看/etc/ssh底下的hostkey日期, 如果是旧的则删除并重启sshd服务

(2)                   修改ssh_config配置文件,添加以下配置

HostbasedAuthentication yes
EnableSSHKeysign yes


(3)                   修改sshd_config配置文件,添加以下配置

HostbasedAuthentication yes
HostbasedUsesNameFromPacketOnly yes
IgnoreRhosts no
MaxAuthTries 10

(4)                   修改/etc/hosts.equiv配置文件,添加以下配置

ssh-0001
ssh-0002
ssh-0003

(5)                   修改/etc/ssh/ssh_known_hosts配置文件,添加以下配置

ssh-keyscan ssh-0001 ssh-0002 ssh-0003 > /etc/ssh/ssh_known_hosts

(6)                   将修改后的配置文件发送到slave节点

$scp /etc/ssh/ssh_config root@ssh-0002:/etc/ssh
$scp /etc/ssh/sshd_config root@ssh-0002:/etc/ssh
$scp /etc/hosts.equiv root@ssh-0002:/etc
$scp /etc/ssh/ssh_known_hosts root@ssh-0002:/etc/ssh

(同样发给ssh-0003)

(7)                   所有节点重启sshd服务

$service sshd restart

1.3      集群基于主机的ssh免密脚本制作

(1)                   更新/etc/ssh底下hostkey(已经在root互信的脚本中包含)

(2)                   参数设定

1.png

(3)                   修改ssh_config配置文件

2.png

(4)                   修改sshd_config配置文件

3.png

(5)                   修改/etc/hosts.equiv配置文件

4.png

(6)                   修改/etc/ssh/ssh_known_hosts配置文件

5.png

(7)                   将修改后的配置文件发送到slave节点

6.png

(8)                   所有节点重启sshd服务

7.png


验证成果:

    普通用户可以在master跟任意slave节点之间双向SSH免密访问。


结语:

    代码在附件~Linux集群节点间的互信就介绍到这里,欢迎大家评论交流~

    

    Credit to 谢坤


    P.S. 问了一下有关部门,代码迁入组件的优化在规划了,估计Q4上线。然后关于截图,建议用上传的方式。然后我上传了一下返现稍微大一点的图还是会压缩然后加水印。。嘛起码看起来比一坨黑字好看一点LOL

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。