写在文章开头
因为云服务器性能瓶颈,某些实验需要在虚拟机上进行,在使用虚拟机过程中发现每次SSH
连接非常漫长,查阅网上资料的解决方案并加以调整得以解决,遂以此篇文章分享一下笔者的个人经验。
你好,我叫sharkchili,目前还是在一线奋斗的Java开发,经历过很多有意思的项目,也写过很多有意思的文章,是CSDN Java领域的博客专家,也是Java Guide的维护者之一,非常欢迎你关注我的公众号:写代码的SharkChili,这里面会有笔者精心挑选的并发、JVM、MySQL数据库专栏,也有笔者日常分享的硬核技术小文。
现象和解决方案
再每次进行连接SSH
连接时都需要等待20-30s,但是连接后续的操作是十分流程的,这里我们优先排除网络带宽问题(虚拟机仅主机内外方式),大抵推测是网络连接过程中某些解析或者校验比较耗时,查阅网上资料发现,大部分人都是将sshd_config
下的UseDNS
设置为no
解决问题,笔者也是一样。
查阅参数含义一下就明白了原因,因为笔者虚拟机设置的是仅主机,所以所有DNS
解析都是无法准确解析的,而上述参数设置为yes
就会使得每次客户端进行连接时服务端都会进行反向解析客户端ip从而得到客户端的主机名,因为虚拟机内外的缘故,这就导致内外服务器长时间进行反向解析得不到客户端主机名,进而导致连接耗时。
对应的解决方案也很简单,首先用vim
编辑sshd_config
配置文件:
vim /etc/ssh/sshd_config
将UseDNS
设置为no
UseDNS no
重启sshd
服务
service sshd restart
此时,我们再次使用SSH
工具进行连接,可以发现连接速度一下子就上去了。
小结
由此类问题我们不难看出计算机网络基础的重要性,只有理解DNS
正向解析和反向解析的执行过程,才能工具现象大抵推测原因,从而结合搜索引擎得到正确的解决方案。
我是sharkchili,CSDN Java 领域博客专家,开源项目—JavaGuide contributor,我想写一些有意思的东西,希望对你有帮助,如果你想实时收到我写的硬核的文章也欢迎你关注我的公众号:
写代码的SharkChili,同时我的公众号也有我精心整理的并发编程、JVM、MySQL数据库个人专栏导航。
参考
SSH登录Vmware虚拟机的linux服务器很慢的解决方案:https://blog.csdn.net/qq_34533957/article/details/109315973