对于连接ssh时连时断的解决方法

0x00 前言

最近用ssh连接VPS的时候,发生了很诡异的事件,有时能够连接上ssh,有时就死活连接不上,重新安装、公钥私钥都检查了,各种权限也都没有问题,端口监听地址什么的也都配置正常,总之能想到的办法都想过了,此时连不连的上仿佛就要看脸了,下面记录一下最终的解决办法。

0x01 修改配置文件

vim /etc/ssh/sshd_config

在配置文件中加入以下内容:

UseDNS no

之后重启ssh即可

#Ubuntu:
service sshd restart 或者 /etc/init.d/sshd restart
#Centos7:
systemctl restart sshd.service
#Centos7以下版本:
service sshd restart

0x02 原因

以下解释来自本文方法参考文章:文章地址

ssh登录服务器时总是要停顿等待一下才能连接上,这是因为OpenSSH服务器有一个DNS查找选项UseDNS默认是打开的。
UseDNS选项打开状态下,当客户端试图登录OpenSSH服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询,查询出客户端的host name,然后根据查询出的客户端host name进行DNS 正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种手段,但一般我们的IP是动态的,不会有PTR记录的,打开这个选项不过是在白白浪费时间而已。

了解更多信息可以关注我的微信公众号:teamssix
原文地址:https://www.teamssix.com/year/190614-134948.html

在使用 Visual Studio Code 通过 SSH 连接远程服务器,可能会遇到连接开的问题。这种情况通常由以下几个原因引起,并可以采取相应的措施进行缓解或解决: 1. **SSH 会话超** SSH 客户端与服务器之间的连接可能由于长间没有活动而被服务器开。可以通过修改 SSH 客户端的配置文件(通常是 `~/.ssh/config`)来发送保活信号以防止连接: ```bash Host your_remote_host HostName your_remote_host User your_username ServerAliveInterval 60 ServerAliveCountMax 5 ``` 上述配置中的 `ServerAliveInterval` 表示每 60 秒发送一次保活信号,`ServerAliveCountMax` 表示最多发送 5 次保活信号后仍未收到响应则连接 [^3]。 2. **VSCode Remote - SSH 插件问题** 如果使用的是 VSCode 的 Remote - SSH 插件,可以尝试更新插件到最新版本以获取修复的错误和改进的功能。同,也可以尝试重新安装插件或重新连接远程服务器。 3. **网络不稳定** 网络波动可能导致 SSH 连接开。确保本地网络和远程服务器之间的网络连接稳定。如果可能,尝试使用有线连接代替无线连接,或检查远程服务器的网络配置。 4. **服务器资源不足** 如果远程服务器资源(如内存或 CPU)耗尽,可能导致 SSH 服务崩溃或无法维持现有连接。可以通过监控服务器资源使用情况来排查此问题,并根据需要升级服务器配置或优化运行的应用程序。 5. **防火墙或安全组设置** 某些防火墙或安全组规则可能会中间的 SSH 连接。确保服务器的防火墙或云服务提供商的安全组规则允许 SSH 流量并配置适当的超间。 6. **SSH 服务配置问题** 在远程服务器上,SSH 服务的配置也可能导致连接开。可以检查 `/etc/ssh/sshd_config` 文件中的 `ClientAliveInterval` 和 `ClientAliveCountMax` 设置,并确保它们与客户端的 `ServerAliveInterval` 和 `ServerAliveCountMax` 设置相匹配。例如: ```bash ClientAliveInterval 60 ClientAliveCountMax 5 ``` 修改配置后,需要重启 SSH 服务以使更改生效,通常可以通过执行 `sudo systemctl restart sshd` 命令来完成 [^3]。 7. **日志分析** 如果以上方法都无法解决问题,建议查看 SSH 客户端和服务器的日志以获取更多信息。客户端日志可以通过在连接添加 `-v` 参数来获取,例如: ```bash ssh -v user@remote_host ``` 服务器端日志通常位于 `/var/log/auth.log` 或 `/var/log/secure`,具体取决于操作系统 [^3]。 通过上述方法,可以有效地诊解决 VSCode 通过 SSH 连接远程服务器可能出现的连接问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值