几天来,我无法通过 SSH 进入我的 Ubuntu 16.04.2 LTS 服务器。据我所知,其他一切都运行良好(它为几个网站提供服务,而且它们都在线,没有问题)。当我尝试通过 SSH 进入它时,我遇到了超时。我现在使用密码验证,我已经在 sshd_config 中启用了它。
我已经尝试了所有我能想到的方法:
- 完全重新安装 openssh-server
- 已禁用 UFW
- 刷新 iptables 并将其设置为允许所有传入和传出流量
- 重启服务器几次
- 重启 SSHd 几次并重新加载其配置
我还能尝试什么?我倾向于重新安装整个服务器,但这意味着备份并重新安装它运行的几个网站。
编辑:读完您的评论后:
相关的 netstat -atnp 输出:
tcp 0 0 0.0.0.0:**port** 0.0.0.0:* LISTEN 24268/sshd
tcp6 0 0 ::**port** ::* LISTEN 24268/sshd
没有其他任何东西在同一个端口上监听;禁用 ufw 仍然不会改变任何东西。
ssh 命令:
ssh user@server -p port
@tatsu:我不知道我怎么可能做错了,但也许我遗漏了什么。我使用了正确的用户名、服务器地址(也尝试过直接使用 IP)和端口。
ssh -vvv 输出(出于安全原因,编辑了服务器和本地信息):
debug1: Reading configuration data **path to user-specific config**
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug2: resolving "**server**" port **port**
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to **server** [**ip address**] port **port**.
debug1: connect to address **ip address** port **port**: Operation timed out
debug1: Connecting to **server** [**ip address**] port **port**.
debug1: connect to address **ip address** port **port**: Operation timed out
我认为这是某种防火墙,或者是 Ubuntu 16.04 LTS 中我不知道的东西。我在 Ubuntu 14.04 LTS 服务器上运行完全相同的配置(不仅仅是 ssh,几乎所有东西都是如此),一切都很顺利。
另外:我可以顺利通过 SSH 连接到我所有其他服务器。我无法使用我的笔记本电脑、我其他服务器之一上的隧道、朋友的 iMac 或通过 4G 连接的手机通过 SSH 连接到这台服务器。所以……我很确定问题出在服务器上,而不是我的方法或命令上。
我还询问了为我的服务器提供硬件的托管公司,他们也无法通过 SSH 端口进行连接,但他们并没有阻止任何东西。
与此同时,我还尝试了其他一些方法:
- 更改了 SSH 端口
- 安装了另一个 SSH 服务器包(没有任何改变;重新安装了 openssh-server)
- 多次重启
- telnet 也超时
还有什么想法/事情我可以尝试吗?
答案1
这根本不是一个令人满意的答案,但我设法解决了这个问题。我完全卸载了 UFW,然后它开始工作了。一定是安装不当或其他原因。我重新安装了 UFW,一切仍然正常。