无法通过屏幕进行 SSH

无法通过屏幕进行 SSH

我已经在远程 Arch Linux 服务器上设置了 hosts.allow,如下所示:

sshd: ALL: ALLOW

而 hosts.deny 设置为:

ALL: ALL

我通过 Cygwin 使用 SSH 没有任何问题(通过代理服务器使用 Corkscrew 隧道)。但是,当我在 Cygwin 中打开屏幕并尝试使用 SSH 时,我收到以下错误:

ssh_exchange_identification: Connection closed by remote host

详细输出如下:

$ ssh -v [username]@[remote server]
OpenSSH_5.6p1, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Applying options for [remote server]
debug1: Executing proxy command: exec /usr/bin/corkscrew [proxy server] 80 [remote server] 443 ~/.corkscrew-auth
debug1: permanently_drop_suid: 152811
No such file or directory
debug1: identity file /home/[username]/.ssh/id_rsa type -1
debug1: identity file /home/[username]/.ssh/id_rsa-cert type -1
debug1: identity file /home/[username]/.ssh/id_dsa type -1
debug1: identity file /home/[username]/.ssh/id_dsa-cert type -1
ssh_exchange_identification: Connection closed by remote host

我已经尝试从客户端和服务器删除 SSH 密钥,但仍然出现同样的错误。

就像我之前说的,当我不使用屏幕时,SSH 工作正常。但我不明白为什么通过屏幕运行时 SSH 连接会断开。

答案1

我不确定你的hosts.allow语法是否有效。尝试:

sshd: ALL

答案2

看起来 corkscrew 无法找到配置文件~/.corkscrew-auth或者/usr/bin/corkscrew二进制文件本身。

根据 corkscrew 手册页文件~/.corkscrew-auth应包含帐户信息:username:password

答案3

我仍然不完全确定问题出在哪里(例如 OpenSSH、Corkscrew 还是其他地方),但是在将 Cygwin 更新到所有软件包的最新版本后,问题就消失了。

相关内容