Linux

使用遠端埠轉發 SSH 到較舊的 Linux 機器

  • July 5, 2017

我在支持 NAT 的路由器後面有一個舊的 Linux 機器(版本 2.6.12,由一位同事編譯),我想從遠端 PC 訪問它。盒子上執行著一個 SSH 守護程序,但由於還沒有 SSH 客戶端,我們編譯了一個舊的 Dropbear 客戶端,它在創建隧道時可以正常工作。

我應該注意到 SSH 守護程序在埠 55000 上執行,並且 Dropbear 客戶端的版本是 v0.53。

但是,使用遠端埠轉發時會出現問題:

./dbclient -N -R myserver.com:10022:localhost:55000 me@myserver.com

這會提示我輸入密碼,從 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 test@myserver.com

只是永遠掛著。使用者“test”存在於我的 Linux 機器上。在詳細模式下,我得到以下資訊:

ssh -p 10022 test@myserver.com -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 無關?

這絕對不是大多數人的解決方案,但無論如何我都會在這裡發布,也許它可以在未來幫助其他人。

問題是在 Linux 機器上,環回介面預設是關閉的。我仍然不確定為什麼。我通過嘗試 SSH 到 localhost 來解決這個問題,但失敗了。Ping 也沒有用。啟動環回後,一切正常:

ifconfig lo up

(您的環回介面的名稱可能不同,這取決於您的作業系統)

我只能假設在幕後,本地 SSH 連接正在從轉發隧道到本地 SSH 守護程序。

引用自:https://unix.stackexchange.com/questions/375161