我无法在我的电脑上使用 putty 连接 ssh,但在其他电脑上可以

我无法在我的电脑上使用 putty 连接 ssh,但在其他电脑上可以

社区的各位朋友大家好,我购买了一个 vpn,当尝试通过 ssh 连接时出现错误“连接超时“每次我尝试使用 putty 连接时,我都可以在远程桌面上进行连接。

我读过可能与防火墙有关的内容,我执行了以下操作“禁用防火墙或将文件添加.exe到防火墙例外”我尝试了两者但错误仍然存​​在。

编辑:我尝试使用 Windows 10 从我的 PC 进行连接,我的 VPS 在 Ubuntu 上

还有其他解决办法吗?

答案1

“连接超时”通常表示某些防火墙阻止了连接。假设您的 VPN 在 PC 之间提供了不受限制的网络路径,则它可能位于:

  • 在您的本地系统上(但如果您已添加putty.exe到防火墙例外,那么这应该不是问题)
  • 在远程系统上(请注意,在远程系统上,您必须允许 SSH 服务器进程,而不是putty.exe- PuTTY 只是一个客户端)

Windows 系统也不一定默认包含 SSH 服务器:在 PowerShell 中运行:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'

查看是否安装了 SSH 服务器,以及

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

如果需要的话可以安装它。

安装 SSH 服务器后,您还必须启动它并将其配置为在启动时自动启动。可以使用以下 PowerShell 命令完成此操作:

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

以下是用于配置 Windows 防火墙以接受传入 SSH 连接的 PowerShell 代码片段(您可能需要在远程 PC 上运行此代码):

if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

相关内容