我在一台 centos (7.2) 机器上做了很多工作,我从一台 ubuntu (14.04) 机器通过 ssh 连接到这台机器。
几乎一切都运行正常。但在遥控器上待了一段时间后(通常是几分钟),我必须等待几秒钟才能看到下一个提示(例如,刚按完回车键)。这真的很烦人。
注销并重新登录可以暂时解决这个问题,但几分钟后又会出现这种情况。我说的不是登录时提示输入密码之类的问题,那部分没问题。而是登录一段时间后出现的常规提示变得很慢。
知道去哪里寻找解决方案吗?
编辑:
从其他机器登录时也会发生这种情况,但似乎仅限于我的用户帐户。
当 shell 挂起时,ssh -v 不会显示任何额外的输出(因此登录后直到注销都没有任何新内容)。以下是 ssh -v 的最后几行:
debug1: Authentication succeeded (password).
Authenticated to X.X.X.X ([X.X.X.X]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 2 clearing O_NONBLOCK
Connection to X.X.X.X closed.
Transferred: sent 11888, received 26136 bytes, in 329.2 seconds
Bytes per second: sent 36.1, received 79.4
debug1: Exit status 0
当我等待新的提示时,htop 显示“-bash”使用 100%cpu。
答案1
很难说清是什么原因造成的,但在我看来,这看起来像是正常的连接延迟,可以通过修改连接到 centos 的方式来调整。
- 编辑您的 /etc/ssh/sshd_config:
Compression yes
使用压缩,并service ssh restart
在服务器端禁用 dns 查找。 - 强制 IPV4 或 IPV6
ssh -4 user@host
或者ssh -6 user@host
(改变身份验证方法也有帮助)