
我最近對SSH 產生了興趣,因此我嘗試在我的 Linux 筆記型電腦上設定 SSH 伺服器。我正在運行 MoonOS,這是帶有 Enlightenment WM 的 Ubuntu 版本。
首先,我運行“sudo apt-get install openssh-server”。一切都很好。現在我查看了路由器的設置,雖然我沒有看到明確稱為“連接埠轉送”的設置,但有一個啟用 SSH 的複選框。我選中了此框並將連接埠設為 22。
現在我使用 www.whatismyip.com 檢查我的 IP 位址,然後在我的 WinXP 筆記型電腦上執行 PuTTY,輸入 IP 位址、連接埠、選擇 SSH 等。好的。我在上網本上啟動了 Jolicloud LiveUSB 並執行「ssh [我的使用者名稱]@[我的 IP 位址]」。連線再次被拒絕。
於是我跑到網路上找 OpenSSH 的文檔。我瘋狂猜測,嘗試在 MoonOS 筆記型電腦上運行“sshd”,但它只是回答:“sshd 重新執行需要使用絕對路徑執行”。
一些幫助?我不知道我在這裡做錯了什麼。
答案1
sshd re-exec 需要使用絕對路徑執行”
對於該部分,使用完整路徑運行它,例如
/usr/sbin/sshd
而不是僅僅sshd
答案2
您有什麼類型的路由器?您似乎為路由器啟用了 SSH,而不是轉發連接埠 22 以指向您的筆記型電腦。
您需要將 TCP 連接埠 22 的流量轉送到筆記型電腦的 IP。
答案3
您應該注意的是,由於某種原因,許多路由器不允許您環出並返回內部位址。
這意味著,如果兩台電腦位於同一網路上,您可能無法透過 ssh 連線到您的公用 IP 位址,並將連接埠轉送至內部 IP。
我對此不太了解,但我上週遇到了這個問題,並且必須在本地網路之外的電腦上進行測試才能成功。
答案4
非常古老的線程,但我想提出一個非常優雅的答案。
sshd 已經在您的 $PATH 中,因此這裡有一個重新執行它的快速方法。
$ `which sshd`
為什麼這有效?反引號替換 的輸出which
,輸出是 的絕對路徑sshd
。