无法使用 PuTTY 连接到服务器

无法使用 PuTTY 连接到服务器

我使用 Windows 8 连接 Linux 服务器。几天前连接正常,但现在我无法使用我的电脑连接它。我可以用任何其他电脑连接到该服务器。

我已经检查了路由器上没有阻塞的端口,或者服务器没有阻塞任何与 SSH 或 telnet 相关的端口(22 端口是完全开放的)。

  • 可以从我的计算机 ping 系统。
  • 可以使用任何其他计算机访问系统。
  • 该系统上的端口 22 已打开。
  • SSH 或 telnet 都无法在我的系统上运行,但我可以 ping 该系统。

我不知道我做了什么或安装了什么,但它不起作用。我该如何找出问题?

答案1

我第一次尝试解决这个问题是

  • 打开PuTTY
  • 选择会话 > 日志记录
  • 启用将 SSH 输出记录到文件
  • 尝试连接
  • 查看日志文件

日志文件里写了什么?有什么可以指引你走向特定方向的吗?它可能包含从“连接超时”到“访问被拒绝”等各种消息。

连接超时:

确保 PuTTY 的会话选项中给出了正确的 IP 地址和 TCP 端口。如果您使用的是主机名而不是 IP 地址,请确保主机名解析为正确的 IP 地址。最后还要检查c:\system32\drivers\etc\hosts。  

如果您已配置 UFW 防火墙,但未允许 ssh 连接,请sudo ufw allow ssh在您的服务器上运行。在此之前,您可以通过以下方式测试这是否是问题所在(隔离它):暂时的禁用服务器上的防火墙sudo ufw disable并检查是否存在问题。要重新启用,请运行sudo ufw enable

您是否管理 SSH 服务器?如果是,请确保 SSH 确实在端口 22 上监听;如果不是,请/etc/ssh/sshd_config在服务器上进行更改或在 PuTTY 中调整端口。还要检查是否iptables允许您的客户端 IP 地址通过。

如果您不管理 SSH 服务器,请与管理员联系。

我个人喜欢在我的 SSH 服务器上安装knockd,这样我只有在敲击某些端口后才能连接到它们。询问管理员是否必须执行类似操作。

拒绝访问:

如果您尝试以 身份登录,则服务器root可能禁止此操作。请使用其他用户名/您的用户名登录。/etc/ssh/sshd_config

如果您使用公钥身份验证,请确保您的私钥

  • 采用 PuTTY.ppk格式
  • 在 PuTTY 的连接 > SSH > Auth 部分输入。

还要检查相应的公钥是否在 中/home/yourusername/.ssh/authorized_keys。确保没有换行符(我使用的是换行符nano,如果我将密钥复制到其中,有时会添加换行符)。正确的行应该是这样的,例如对于 RSA:ssh-rsa ALOTOFCHARACTERS yourusername@hostname

那么。第一步:启用日志记录并在此处发布输出。;)

答案2

我遇到了类似的问题。重新安装 putty 并启动 putty 会话到服务器成功了。不确定问题的根本原因。

希望这对遇到同样问题的人有所帮助。

答案3

我最近遇到了和你类似的问题。我发现这可能是由一系列问题引起的,所以我会尽力将其分解。

由于您可以通过其他计算机连接,我假设您已正确转发端口。

如果您尝试从与服务器相同的 wifi 连接外部 IP,我发现这实际上不起作用。尝试通过其他人的 wifi 甚至服务器的内部 IP 进行连接,看看是否可行。

总的来说,试着想想这台电脑和你连接的其他电脑有什么不同。祝你好运。

答案4

我以前遇到过同样的问题,问题解释是服务器和客户端之间的每次交互都是加密的。

要使用服务器和客户端之间的远程连接,您必须在 Ubuntu 机器上允许或启用 SSH。

启用 SSH 将允许您远程连接到您的系统并执行管理任务。

  1. 在 ubuntu 中验证 SSH 的状态,只需运行此命令:

    sudo systemctl status ssh
    
  2. 通过运行以下命令在 ubuntu 中允许 SSH:

    sudo ufw allow ssh
    

然后您可以使用远程桌面连接远程连接到服务器。

相关内容