本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
介绍
SSH (安全外壳协议) 是一个加密的网络协议,用于在不安全的网络上登录到远程计算机。尽管 SSH 最初是为 Unix 系统设计的,但现在 Windows 系统也支持 SSH 服务。在这篇文章中,我们将讨论如何在 Windows 系统上设置 SSH 服务器,并从另一台计算机上使用 SSH 客户端连接到它。
步骤 1: 在 Windows 上安装 OpenSSH Server
打开 “设置” 应用。点击“应用”。
在右侧点击 “可选功能”。(或者直接在查找设置中搜索可选功能)
点击 “添加功能”。
在列表中找到并选择 “OpenSSH 服务器”,然后点击 “安装”。可以顺手把 OpenSSH 客户端也安装上
安装完成后,OpenSSH 服务器将自动运行,并每次启动 Windows 时自动启动。
输入命令在 PowerShell(管理员)模式下操作
输入命令 Get-WindowsCapability -Online | ? Name -like ‘OpenSSH*’ 来查看 OpenSSH 服务器与客户端是否安装完成,安装完成如图下所示
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
步骤 2: 开启 SSH 服务
输入命令
net start sshd

输入命令 ssh localhost 检查连接状态,图下所示表示连接正常
ssh localhost
输入命令 Set-Service -Name sshd -StartupType 'Automatic’使 SSH 服务开机自启动
Set-Service -Name sshd -StartupType 'Automatic'
如果如图下所示,表示 ssh 服务可能未开启,输入 net start sshd 开启服务即可;也有可能防火墙堵塞了 22 端口

解决办法:
确保 SSH 服务器可以接收外部连接,你需要在 Windows Defender 防火墙或任何其他第三方防火墙软件中开放 22 端口。
- 打开 “控制面板”。
- 选择 “系统和安全”。
- 点击 “Windows Defender 防火墙”。
- 在左侧选择 “允许应用通过 Windows 防火墙通信”。
- 在列表中找到 “OpenSSH Server” 并确保它被允许通过防火墙。
步骤 3: 使用 SSH 客户端连接到 Windows
- 从另一台计算机上,打开 SSH 客户端。
- 打开 PowerShell 使用以下命令连接到 Windows SSH 服务器:
ssh 用户名@Windows计算机的IP地址
例如,如果你的 Windows 计算机的 IP 地址是 192.168.1.100,你的用户名是john,那么你应该输入:
ssh john@192.168.1.100
然后输入密码。(第一次连接先输入 yes, 然后再输入密码即可)
现在,你应该已经成功连接到了 Windows 计算机,并可以执行命令。
注意事项
- 默认情况下,非管理员用户也可以通过 SSH 连接到 Windows。要禁止非管理员用户连接,你可能需要对 sshd_config 文件进行修改。
- 确保你的 Windows 密码足够复杂,以防止未经授权的访问。
- 考虑更改默认的 SSH 端口(22)以增加安全性。
问题解决
常见问题一
出现 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 字样
原因 :
这是 SSH 的一个安全警告。这种警告通常发生在以下情况:
- 目标服务器的公钥已更改。这可能是因为您重新安装了服务器、更换了服务器硬件或手动更改了服务器的 SSH 密钥。
- 有人尝试对您的连接进行中间人攻击(Man-in-the-Middle attack)。这种情况比较少见,但不能完全排除。
解决方法:
为了解决这个问题,您应该首先确定原因。如果您确信服务器的公钥已经合法更改,那么可以按照以下步骤解决:
打开终端或命令提示符。
使用以下命令删除指定 IP 地址的旧密钥条目:
ssh-keygen -R 192.168.136.128 //你的ssh服务器IP
之后,您可以再次尝试连接到服务器。在首次连接时,系统会提示您接受新的公钥。确认后即可正常连接。
但是,如果您没有对服务器进行任何更改,并且对此警告感到不安,那么您应该进一步调查,以确保您的网络环境没有遭受攻击。
总结
通过以上步骤,你应该可以轻松地在 Windows 上设置 SSH 服务器并从远程连接到它。SSH 为你提供了一个安全的方式来管理和控制 Windows 计算机。








