首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >某些服务器版本的SSH连接速度较慢

某些服务器版本的SSH连接速度较慢
EN

Server Fault用户
提问于 2016-09-16 13:56:30
回答 2查看 611关注 0票数 1

连接到网络上的服务器时,我需要大约10秒的时间才能得到密码提示。当我连接到另一台服务器时(例如。GitHub),反应非常快。

通过一些研究,似乎导致服务器响应缓慢的常见原因是反向DNS和GSSAPI功能。我已经在服务器上分别禁用了这两种设备,而且这两种更改都没有改善这种情况。

代码语言:javascript
复制
$ ssh -v <hostname>
<a bunch of stuff about reading configs, connecting and reading key files>
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.3
<a long wait - 5-10 seconds>
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
<many more messages, get to login very quickly>

使用相同的OpenSSH 5.3的两个服务器之间的连接也会快速进行。

基于上述,我认为存在某种形式的协议协商。我理解得对吗?我是否可以强制特定客户端或服务器的某个协议来加快服务器响应时间?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2016-09-19 15:10:21

我的问题似乎不是由于SSH,而是由于tcp_wrappers规则处理的延迟。感谢@BillThor为我指出正确方向的评论。使用%u替换(或user@host规则)会导致tcp包装程序尝试向客户端计算机发出IDENT/auth请求,试图获取连接者的用户名。在我的示例中,客户机上没有服务器,因此tcp包装程序在继续允许连接之前等待请求超时。

我发现问题不是SSH的问题,而是想了解服务器端发生的事情的更多细节。

首先,我使用ssh -L 8080:localhost:8080 <hostname>登录到服务器。这在SSH连接上创建了一个隧道,它将我的机器上的端口8080转发到服务器上的8080。

接下来,我在调试模式下启动了第二个SSH服务器,侦听端口8080:sudo /usr/sbin/sshd -d -p 8080。当登录到我的调试服务器时,一切都很顺利和快速!

票数 0
EN

Server Fault用户

发布于 2016-09-16 15:31:09

正如您所述,这种错误通常是由于DNS查找和GSSAPI功能造成的。

在过去遇到同样的问题之后,我将再次检查语法以禁用这些特性,因为语法可能会从一个操作系统更改到另一个操作系统。

作为示例,LookupClientHostnames=no适用于一些Solaris版本。还有,在/etc/host中包含条目可能会有所帮助。

票数 -1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/803549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档