我在 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服务。然后在学校网络内重试。
当然,如果您有充分的理由从学校连接服务器,您可以尝试与学校的网络管理员讨论此事。