Windows 11 SSH服务器连接被拒绝问题求助
Windows 11 SSH服务器远程连接被拒绝问题排查
问题背景
尝试将Windows 11笔记本搭建为可远程连接的SSH服务器,但执行远程连接时收到Connection refused错误。
已执行操作
- 在笔记本上安装并启动SSH服务器与客户端,系统已自动创建端口22的TCP/UDP入站防火墙规则
- 创建带密码的新用户
sshuser - 在路由器配置端口转发规则:
- 名称:SSH
- 协议:TCP/UDP
- 远程主机IP范围:自身公网IP
- 局域网主机:笔记本WiFi适配器的IPv4地址
- WAN端口范围:22~22
- 局域网主机端口:22
连接尝试
使用Arch Linux设备执行命令:
ssh sshuser@mypublicipaddress -p 22
收到错误提示:Connection refused
排查建议
验证本地SSH服务状态
在Windows 11笔记本打开PowerShell,执行Get-Service sshd,确认服务状态为Running。若未运行,执行Start-Service sshd启动服务,再执行Set-Service -Name sshd -StartupType 'Automatic'设置开机自启。本地连接测试
在笔记本本地执行ssh sshuser@localhost -p 22,若本地无法连接,说明SSH服务配置存在问题,检查C:\ProgramData\ssh\sshd_config文件:- 确认
PasswordAuthentication yes(允许密码登录)未被注释 - 确认
Port 22未被注释 - 若限制了登录用户,确认已添加
AllowUsers sshuser
修改配置后需重启SSH服务:Restart-Service sshd
- 确认
检查防火墙规则
即使系统自动创建规则,仍需手动确认:- 打开Windows Defender防火墙→高级设置→入站规则,找到
OpenSSH-Server-In-TCP和OpenSSH-Server-In-UDP,确认规则已启用,允许端口为22,允许的远程IP范围符合需求(若需开放所有外部连接,可设置为Any IP address) - 临时关闭Windows防火墙,再次尝试远程连接,排除防火墙拦截问题
- 打开Windows Defender防火墙→高级设置→入站规则,找到
端口转发规则验证
- 确认路由器上的局域网主机IP是笔记本当前的WiFi IPv4地址(可通过
ipconfig在笔记本上查看,避免DHCP自动更改IP导致规则失效) - 检查
远程主机IP范围设置:若仅限制为自身公网IP,外部连接的Arch设备公网IP可能不在范围内,建议暂时改为Any或0.0.0.0/0测试 - 登录路由器后台,确认端口转发规则已保存并生效
- 确认路由器上的局域网主机IP是笔记本当前的WiFi IPv4地址(可通过
公网端口可用性检测
在Arch设备上执行nc -zv mypublicipaddress 22,检测公网22端口是否开放。若显示关闭,可能是端口转发未生效,或ISP默认封禁了22端口——可尝试更换为非标准端口(如2222),同时修改Windows SSH服务端口和路由器转发规则。确认公网IP稳定性
若公网IP为动态分配,配置后可能已变更,可通过curl ifconfig.me在笔记本或Arch设备上查看当前公网IP,确认连接时使用的IP正确。
内容的提问来源于stack exchange,提问作者swegbarca
相关产品推荐
相关产品推荐

