📜  openssh 在 Windows 上设置防火墙 (1)

📅  最后修改于: 2023-12-03 15:18:07.833000             🧑  作者: Mango

在 Windows 上设置 OpenSSH 防火墙

如今越来越多的程序员开始使用 Windows 作为开发环境, 也越来越多的开发者使用 OpenSSH 进行远程服务器连接和文件传输. 在这种情况下, 为了保障数据安全, 设置防火墙是非常必要的.

第一步: 安装 OpenSSH

如果你还没有在你的 Windows 机器上安装 OpenSSH, 首先你需要 安装它. 你可以通过 Microsoft Store 或者 PowerShell 进行安装.

第二步: 配置 OpenSSH

安装完 OpenSSH 后, 你需要配置它以便和你的服务器进行连接. 如果你还没有万能的步骤, 请查看 如何在 Windows 上配置 OpenSSH.

第三步: 配置 Windows 防火墙

一旦你配置好 OpenSSH, 你需要将其添加到 Windows 防火墙的白名单中. 这样你才能够确保 OpenSSH 和你的服务器进行通信而不会被防火墙拦截.

添加入站规则

按 Win+R 键打开运行对话框, 输入 wf.msc 后按下回车. 这里我们使用 Windows Defender Firewall with Advanced Security (Windows 防火墙). 在左侧面板中, 选择入站规则.

  1. 点击右侧 "新建规则".

  1. 选择 "端口" 并点击 "下一步".

  1. 选择 TCP 或者 UDP, 具体参考你服务器的配置, 然后在 "特定本地端口" 中添加 22 (SSH 默认端口), 点击 "下一步".

  1. 选择 "允许连接" 然后选择你需要应用规则的用户, 点击 "下一步".

  1. 输入一个名字和描述, 点击 "完成".

最后, 你应该能够从 Windows 上的 OpenSSH 连接到你的服务器了!

整合 PowerShell

如果你正在使用 PowerShell, 可以使用 New-NetFirewallRule 命令来配置 Windows 防火墙.

下面是一个添加 TCP 22 端口入站规则的 PowerShell 代码片段:

$port = 22
$nwname = 'OpenSSH Server (sshd)'

$addRule = New-NetFirewallRule -DisplayName $nwname `
                               -Direction Inbound `
                               -Protocol TCP `
                               -LocalPort $port `
                               -Action Allow `
                               -Enabled True

Write-Host "Firewall rule added: $nwname (proto:TCP, port:$port)"
结论

设置正确的 OpenSSH 防火墙至关重要, 以确保你的数据在传输过程中得到保护. 在本文中, 我们介绍了如何在 Windows 上安装 OpenSSH, 配置 OpenSSH 和配置防火墙. 如果你遇到了问题, 请遵循上述步骤并查找解决方案, 或在社区寻求帮助.