解决局域网ssh登录慢的问题

最近项目里碰到一个很奇葩的问题,如果把路由器连接到公网,ssh到局域网的机器就比较快,如果断开路由器的公网连接,ssh到局域网的机器,就会在卡半天才出现输入密码的提示。


搜索结果大多是说GSSAPI影响造成的,我用ssh -v看到并没有GSSAPI相关的信息,后来了解到发起ssh连接的时候,服务器端会在接收到连接请求后反查dns看看客户端的身份,在sshd_config中配置UseDNS no就可以解决这一问题,尝试了一下,有效。


可惜我们的环境中,这些ssh的目标机器都是变化的,不可能把那么多台都去改个sshd的配置,那就只有反过来,搞定dns服务器了。


在路由器上折腾了半天,没有达到理想的效果,只好想办法在局域网搭了一个dns服务器,这个可以参考Ubuntu搭建dns服务器的相关资料,内容比较繁琐也没有具体解释一些配置的含义,但试过一次之后,基本能够把这些配置的含义都猜到。dns服务器搭建好了之后,把要发起ssh的机器配置到dns表中,再把路由器上的dns设置为这台电脑的ip,这样每台新的ssh目标机器连接到这台路由器的时候,由DHCP获取到的dns就是局域网这个dns服务器了,然后问题就OK了,不连wlan也可以在lan中秒连ssh了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSH连接超时时,可能有几种原因导致。以下是一些常见的解决方法: 1. 确保远程主机处于运行状态:确保目标主机正在运行,并且可以通过其他方式(例如ping命令)访问到它。如果目标主机无法访问,可能是由于网络故障或目标主机的防火墙设置问题导致。 2. 检查SSH服务是否正在运行:确认目标主机上的SSH服务是否已启动。可以通过在目标主机上运行命令 `sudo service ssh status`(对于Ubuntu系统)或 `sudo systemctl status sshd`(对于CentOS/RHEL系统)来检查SSH服务的状态。如果服务未运行,则需要启动它。 3. 检查SSH服务器配置:在目标主机上,检查SSH服务器的配置文件(通常为 `/etc/ssh/sshd_config`)。确保配置文件中的端口号、允许登录的用户和其他相关设置正确。如果有更改,需要重启SSH服务以使更改生效。 4. 检查本地防火墙设置:如果你连接的是远程主机,确保本地计算机上的防火墙允许通过SSH连接。在本地计算机上,打开所使用防火墙软件(如Windows防火墙或其他第三方防火墙),并确保SSH流量被允许通过。 5. 检查网络设备设置:如果你在局域网内尝试连接远程主机,可能需要检查网络设备(如路由器或防火墙)的设置,确保SSH流量被正确转发到目标主机。 6. 使用其他端口号:尝试使用SSH连接时指定不同的端口号。默认情况下,SSH使用22端口,但有时目标主机可能使用不同的端口。可以通过在SSH命令中使用 `-p` 选项指定不同的端口号。 如果仍然无法解决SSH连接超时问题,建议检查网络连接、防火墙设置和目标主机的SSH配置,并确保正确运行。如果问题仍然存在,可能需要进一步调查或联系系统管理员获取帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值