Mac通过OpenSSH连接同局域网Windows失败问题求助
兄弟,我之前也碰到过这种无语的情况——连SSH没报错直接断,完全摸不着头脑。给你列几个一步步排查的方向,应该能找到问题所在:
先确认Windows的IP没搞错:有时候局域网IP会自动变动,你在Windows的cmd里敲
ipconfig,找到当前网卡(WiFi或以太网)的IPv4地址,确保Mac终端里输的是这个准确地址,别拿之前存的旧IP试。检查Windows防火墙的入站规则:你说开了22端口,但可能没配置对具体规则。打开Windows Defender防火墙的「高级设置」,找「入站规则」,看看有没有**OpenSSH-Server (TCP-In)**这条规则,要是没有的话手动新建:允许TCP协议的22端口,允许同局域网的IP访问(或者直接暂时关掉防火墙试试,能连上的话就是防火墙规则没配好)。
确认OpenSSH服务在Windows上正常跑着:按Win+R输入
services.msc,找到「OpenSSH SSH Server」,看状态是不是「正在运行」,启动类型设为「自动」。要是没运行,右键启动它,再重试连接。用调试模式看连接细节:在Mac终端里用
ssh -v username@ip_of_windows命令,这个参数会输出详细的连接日志,比如是卡在TCP握手、还是认证阶段,从日志里能精准定位问题——比如显示「Connection refused」就是端口没通,「Operation timed out」可能是防火墙或网络隔离。先验证局域网连通性:在Mac终端里ping Windows的IP:
ping ip_of_windows,要是ping不通,说明两台机器不在同一个子网,或者路由器有隔离设置;ping通了再聚焦SSH的问题。检查OpenSSH的密码登录配置:有时候Windows上的OpenSSH默认禁用了密码登录。你可以打开
C:\ProgramData\ssh\sshd_config(这个文件夹是隐藏的,得先显示隐藏文件),找到PasswordAuthentication这一行,改成PasswordAuthentication yes,然后重启OpenSSH服务,再试试连接。
备注:内容来源于stack exchange,提问作者user357693




