Mac 通过 SSH 连接公司局域网 Windows 电脑
适用场景:Mac 和目标 Windows 电脑在同一公司局域网内(或已连 VPN),人在 Windows 电脑旁边,需要让 Mac 上的 Claude Code(或任意终端)SSH 过去传文件 / 执行命令。
#一、Windows 那边要做的事(人在电脑旁,管理员 PowerShell 里执行)
#1. 安装并启动 OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'#2. 放行防火墙的 22 端口
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22#3. 查看这台电脑的内网 IP
ipconfig找 以太网适配器 或 WLAN 下面的 IPv4 地址(一般是 192.168.x.x 或 10.x.x.x)。
#4. 确认当前登录的 Windows 用户名
whoami输出形如 电脑名\用户名,SSH 登录只需要用户名部分。
默认情况下 Windows OpenSSH Server 登录方式是密码,用的就是这台电脑的开机密码。如果这个账户没设密码,先给它设一个(
控制面板 → 用户账户),否则 SSH 会连不上。
#二、Mac 这边要做的事
#1. 直接用密码连接(最简单,先跑通)
ssh <Windows用户名>@<Windows内网IP>例如:
ssh leo@192.168.1.23第一次连接会提示确认指纹,输入 yes;然后输入 Windows 开机密码即可登录,进去后默认是 PowerShell。
#2.(可选)配置免密登录
如果以后要经常连,建议配一次公钥登录,省得每次输密码:
# 如果 Mac 上还没有密钥,先生成一个
ssh-keygen -t ed25519
# 把公钥拷到 Windows(会提示输一次密码,之后就免密了)
type ~/.ssh/id_ed25519.pub | ssh <Windows用户名>@<Windows内网IP> "powershell -Command \"Add-Content -Path \$env:USERPROFILE\.ssh\authorized_keys -Value \$input\""Windows 的 OpenSSH 对管理员账户和普通账户的
authorized_keys存放路径不一样(普通账户在%USERPROFILE%\.ssh\authorized_keys,管理员账户在%ProgramData%\ssh\administrators_authorized_keys且需要特殊权限),如果免密登录不生效,大概率是路径或权限问题,退回用密码登录也完全够用。
#3. 传文件(scp)
# Mac → Windows,传单个文件
scp ~/some_file.txt <Windows用户名>@<Windows内网IP>:C:/Users/<Windows用户名>/Desktop/
# Mac → Windows,传整个目录
scp -r ~/some_folder <Windows用户名>@<Windows内网IP>:C:/Users/<Windows用户名>/Desktop/#4. 远程直接执行一条命令(不进交互式会话)
ssh <Windows用户名>@<Windows内网IP> "powershell -Command \"Get-ChildItem C:\Users\<Windows用户名>\Desktop\""#三、常见坑
- 连不上(超时):多半是 Windows 防火墙没放行,或者两台机器不在同一网段——先在 Windows 上
ping一下 Mac 的 IP 反向验证,再检查公司是否有额外的网络隔离(VLAN / 访客网)。 - 连不上(Connection refused):
sshd服务没启动,回 Windows 跑Get-Service sshd看状态,没起来就Start-Service sshd。 - 密码登录被拒:确认 Windows 账户确实设了密码,且用户名大小写、是否带域名前缀(
域\用户名vs用户名)要试对。 - 公司电脑锁了本地策略:部分公司 IT 会禁用 OpenSSH 安装或用组策略锁防火墙规则,
Add-WindowsCapability报错的话大概率是这个原因,需要 IT 权限或换用远程桌面(mstsc)等其他方式。 - 重启后连不上:确认第一步里
Set-Service -StartupType Automatic生效了,否则电脑重启后 sshd 不会自动起。
来源:沉淀/01-云与基础设施/Mac连Windows-SSH互联指南.md(整理于 2026-08-18)