使用远程端口转发通过 SSH 连接到旧版 Linux 机器

使用远程端口转发通过 SSH 连接到旧版 Linux 机器

我在启用 NAT 的路由器后面有一个旧的 Linux 机器(版本 2.6.12,由同事编译),我想从远程 PC 访问它。盒子上运行着一个 SSH 守护进程,但由于还没有 SSH 客户端,我们编译了一个旧的 Dropbear 客户端,它在创建隧道时工作得很好。

我应该注意到,SSH 守护进程在端口 55000 上运行,并且 Dropbear 客户端的版本是 v0.53。

然而,当使用远程端口转发时,问题就出现了:

./dbclient -N -R myserver.com:10022:localhost:55000 [email protected]

这会提示我输入密码,从 myserver.com,我可以看到连接成功:

sudo netstat -tulpn | grep 10022
tcp        0      0 xx.xx.xx.xx:10022    0.0.0.0:*               LISTEN      31512/sshd: me

然而,当尝试从我的 Mac 或 Ubuntu(OpenSSH_7.4p1、LibreSSL 2.5.0)使用隧道时,并没有发生太多事情。

ssh -p 10022 [email protected]

只是永远挂着。我的 Linux 机器上存在用户“test”。在详细模式下,我得到以下信息:

ssh -p 10022 [email protected] -v
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /Users/me/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to myserver.com [xx.xx.xx.xx] port 10022.
debug1: Connection established.
debug1: identity file /Users/me/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4

我对 SSH 的了解相当基础,远程转发对我来说非常陌生,所以我不知道下一步该尝试什么。我在 Ubuntu 和 Mac 上尝试过 Dropbear 客户端,但它也挂起。我不认为它有详细模式(?)。我尝试了相反的方法,即在 Ubuntu 中设置远程端口转发,然后从 Linux 机器进行连接,这样就可以了。

这只是一些配置问题吗?难道是 SSH 守护进程不欢迎我的连接,我该如何检查或解决这个问题?我的 PC 上是否需要旧版 SSH 客户端?

任何帮助是极大的赞赏!

编辑: sshd 是否需要任何特殊的配置参数,或者这与 sshd 无关?

答案1

这绝对不是大多数人的解决方案,但无论如何我都会将其发布在这里,也许它可以在将来帮助其他人。

问题在于,在 Linux 机器上,环回接口默认处于关闭状态。我还是不知道为什么。我通过尝试 SSH 到本地主机来解决这个问题,但失败了。 ping 也不起作用。启动环回后,一切正常:

ifconfig lo up

(您的环回接口的名称可能不同,这取决于您的操作系统)

我只能假设在幕后,正在从转发隧道到本地 SSH 守护程序建立本地 SSH 连接。

相关内容