
我在 Digitalocean 有一個 ubuntu 伺服器。通常,我可以透過 SSH 連接這台機器,但是當我連接到學校網路時,當我編寫 時ssh root@IP
,它會凍結,甚至不會詢問我的密碼。我在連接到另一個網路的另一台電腦上嘗試過,它可以工作。此外,我可以連接具有相同配置的其他伺服器。我如何檢測是否是由於我的網路連線引起的以及如何解決這個問題?
編輯:我嘗試連接伺服器ssh root@IP -vvv
,它返回了我這個
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to IP [IP] port 22.
debug1: connect to address IP port 22: Operation timed out
ssh: connect to host IP port 22: Operation timed out
答案1
ssh: connect to host IP port 22: Operation timed out
此訊息表示安全 shell 用戶端無法與您嘗試連線的伺服器建立連線。正如您所提到的,這種情況僅發生在學校網路內部(並且您可以從其他地方連接),校園網路管理員很可能出於某種原因決定不允許出站安全shell 連接,或者已阻止定向到的流量您的伺服器所在的託管提供者。
順便說一句,讓root
帳戶可用於任何類型的遠端登入都是非常糟糕的做法。我強烈建議您在安全 shell 守護程式設定中禁止這樣做,並以普通使用者身分登錄,您可以從中使用su
或sudo
當您特別需要超級使用者權限時。
答案2
到連接埠 22 的傳出連線似乎在您的學校網路中被封鎖。您可以嘗試讓您的 ssh 伺服器偵聽其他沒有任何服務偵聽的端口,例如 443,該端口可能不會被阻止。
只要添加..
Port <alternative_portnumber>
..到伺服器中的/etc/ssh/sshd_config並重新啟動ssh服務。然後在學校網路內重試。
當然,如果您有充分的理由從學校連接伺服器,您可以嘗試與學校的網路管理員討論此事。