ssh_config和sshd_config配置文件的区别

引子:
之前做过修改ssh默认端口号以及服务器之间的免密登录,但是是百度CV搞得,最近又有这个需要,我就很自信的vim /etc/ssh/ssh_config,然后把Port那行前面的#去掉,然后修改后面的端口号,再重启ssh服务,但是用新端口号死活登不上服务器,防火墙的端口也加了,但是查看ssh的端口时还是22,百度了两三个小时,怎么都觉得自己做的是对的,一遍一遍的vim /etc/ssh/ssh_config去确认Port,一度感觉自己的服务器是个傻子,最后发现自己是个傻子。唉,言归正传吧!

两个配置文件最直观的区别:
/etc/ssh/ssh_config
/etc/ssh/ssh d _config
最直观的区别是一个有d一个没有d

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。 /etc/ssh/ssh_config配置文件中的"Port"设置连接到远程主机的端口(就是你这台机器ssh连接别的机器的默认端口);/etc/ssh/sshd_config配置文件中的"Port"设置sshd监听的端口号(就是别人的机器登录你这台机器的端口)。

上面的看懂了就别看下面的内容了,我自己都觉得绕。。。。。

搞两个例子看看:

①测试/etc/ssh/ssh_config配置文件
(我现在把当前机器的/etc/ssh/ssh_config的Port设置为1234,/etc/ssh/sshd_config的Port设置为22)

/etc/ssh/ssh_config配置文件中的Port管的是你当前机器ssh别的机器的端口,例如:
我在本机执行ssh命令
在这里插入图片描述
我在ssh命令中省略了端口,这样的话ssh会默认使用/etc/ssh/ssh_config配置文件中的Port,我设置的是1234,而我要连的那台机器的ssh服务端口是22,所以命令执行时报错1234端口拒绝,这也证明了ssh默认使用的端口是/etc/ssh/ssh_config配置文件中的,然后加上正确的端口就行了,如下图:
在这里插入图片描述

②测试/etc/ssh/sshd_config配置文件
(我现在把当前机器的/etc/ssh/ssh_config的Port设置为22,/etc/ssh/sshd_config的Port设置为1234)

然后再找一台机器ssh登录我这台机器,也省略端口号,如下图:
在这里插入图片描述
我省略端口时默认使用那台机器上的/etc/ssh/ssh_config默认配置的22,而我的服务器/etc/ssh/sshd_config里配置的Port是修改后的1234,所以使用ssh登录时应该指定端口,如下图:
在这里插入图片描述
有点绕,不知道说明白了没有。

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值