Windows SSH 远程登录安装教程

首次发布:2026-10-30

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