如何通过SSH远程连接到Windows系统指南
介绍
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计算机。
更多推荐
所有评论(0)