Windows SSH 远程登录安装教程
适用:Windows 10 1809 及以上、Windows 11。不适用于 Windows 7。
一、准备
所有安装和配置命令,都在“需要被远程连接的电脑”上执行。
右键开始菜单,打开 Windows PowerShell(管理员)或终端(管理员),使用 PowerShell。
安装需要能够下载 Windows 可选功能。每一步完成后再执行下一步。
二、安装 SSH 服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
等待命令结束,重新出现 PS 提示符。进度条可能长时间不更新。
检查安装状态:
Get-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
State 为 Installed 才表示成功;NotPresent 表示尚未安装成功。
若安装失败,保留错误信息,检查网络和 Windows 更新配置,不要继续启动服务。
三、启动并设置开机自动启动
逐条执行:
Start-Service sshd Set-Service -Name sshd -StartupType Automatic
检查:
Get-Service sshd
Status 为 Running 表示正在运行;Stopped 表示未启动。
四、允许局域网访问 TCP 22 端口
安装生成的默认防火墙规则可能只适用于 Private 网络。当电脑当前为 Public 网络时,可能无法连接。
下面整段可一起复制执行:存在教程规则时启用它,不存在时创建。
if (Get-NetFirewallRule -Name "SSH-LAN-In" -ErrorAction SilentlyContinue) {
Enable-NetFirewallRule -Name "SSH-LAN-In"
} else {
New-NetFirewallRule -Name "SSH-LAN-In" -DisplayName "SSH LAN TCP 22" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 22 -Profile Any -RemoteAddress LocalSubnet
}说明:该规则适用于所有网络配置文件,但仅允许本地子网来源访问 TCP 22。
它不会限制其他已存在的允许规则,也不会设置路由器公网端口映射。
无需关闭 Windows 防火墙。同一局域网内一般无需路由器端口映射。
五、确认端口监听
Get-NetTCPConnection -LocalPort 22 -State Listen
通常应看到 0.0.0.0 或 ::,LocalPort 为 22,State 为 Listen。
六、从另一台电脑测试和连接
在另一台 Windows 电脑的 PowerShell 执行(替换成实际目标 IP):
ssh 用户名@192.168.1.245
首次连接会要求确认主机指纹,确认目标无误后输入 yes。
输入目标账户密码;输入密码时不显示字符属于正常现象。
登录成功后可执行 Windows 命令。如进入 CMD,可输入 powershell 切换。
退出远程会话:
exit
七、停止远程登录(可选)
Stop-Service sshd Set-Service -Name sshd -StartupType Disabled
仅禁用本教程添加的防火墙规则:
Disable-NetFirewallRule -Name "SSH-LAN-In"
微软安装文档:
https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse