如何在Windows 10/11 上安装 OpenSSH(安装和配置指南)_win11 openssh
本篇文章主要是帮助大家如何从0开始安装SSH到成功连接远程主机
文章目录
-
- 介绍
- 注意事项
- 方法一:通过 设置 进行安装
- 方法二:通过Powershell进行安装
-
- 此外还需要些配置:设置为开机自启动等
- 实战检验
- 总结
介绍
对于多数 Windows 用户,远程桌面协议(RDP)因直观的图形界面,长期占据远程管理的首选位置。不过,当系统管理员需要更精准、更灵活的控制时,SSH 显然是更优的选择 —— 它借助命令行与远程设备进行交互,让繁杂的管理工作得以高效推进。
并且,Windows 中的 OpenSSH 是一个可选功能(FoD),需要手动添加,它并不会随系统自动安装。
接下来将介绍Windows 11 或 Windows 10(1809 版本及以上)中安装、配置和使用 OpenSSH 客户端和服务器。
注意事项
OpenSSH 包含客户端和服务器两部分:
客户端
:用于连接远程服务器。服务器
:在远程服务器上运行,接受客户端的连接请求。
在安装时还需满足以下条件:
- 操作系统版本支持:Windows 系统需为
Windows 10 1809
及以上版本、Windows 11 或 Windows Server 2019 及以上版本(这些版本原生支持 OpenSSH 组件,无需额外依赖复杂环境)。 - 管理员权限:安装过程需要使用管理员权限操作(如修改系统组件、配置服务等,普通用户权限可能导致安装失败)。
- 网络连接正常:安装时需从微软服务器下载 OpenSSH 相关组件,确保电脑能正常访问互联网,避免因网络中断导致安装包下载失败。
首先我们可以在cmd中输入 services.msc
打开任务进程,然后随便点击一个进程,输入o
查看是否开启:(若是没有可直接跳到下一步)
随后右键属性——>选择自动——>应用——>确定即可
方法一:通过 设置 进行安装
使用Windows + I
快捷键打开 ”设置“,依次选择 “系统” —> ”可选功能“
然后在搜索框中输入 OpenSSH
进行筛选——>勾选——>下一步安装即可;
安装完成后结果如图所示:
若是安装成功可以到cmd或者powershell里输入 ssh
进行查看:
即为安装成功。
方法二:通过Powershell进行安装
使用 Windows + R
快捷键打开「运行」对话框,输入powershell
,然后按 Ctrl + Shift + Enter
以管理员权限打开 PowerShell 窗口。
执行以下命令查看 OpenSSH 安装状态:
Get-WindowsCapability -Online | Where-Object Name -like \'OpenSSH*\'
若返回 NotPresent
,表示未安装;返回Installed
则表示已安装。
(此为已安装成功)
根据需要安装 OpenSSH 客户端和服务器组件:
# 安装 OpenSSH 客户端Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0# 安装 OpenSSH 服务器Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
然后再输入刚才的命令进行验证即可;
此外还需要些配置:设置为开机自启动等
(将 方法一 的操作命令化
)
使用 Windows + R
快捷键打开「运行」对话框,输入powershell
,然后按 Ctrl + Shift + Enter
以管理员权限打开 PowerShell 窗口。
(注意:cmd打开的窗口不行)
设置 ssh 服务开机自启动:
Set-Service -Name sshd -StartupType \'Automatic\'
启动 ssh服务:
Start-Service sshd
检查 ssh 服务器是否在侦听 22 端口:
netstat -an | findstr /i \":22\"
确保 Windows Defender 防火墙允许 TCP 22 端口的入站连接:
Get-NetFirewallRule -Name *OpenSSH-Server* | select Name, DisplayName, Description, Enabled
(可选)如果要修改配置,如设置用户访问权限,可以编辑sshd_config配置文件:
New-NetFirewallRule -Name sshd -DisplayName \'OpenSSH Server (sshd)\' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
根据需要修改配置文件,保存后关闭记事本即可。
完成更改后,重启 SSHD 服务应用配置:
Restart-Service sshd
–
实战检验
这里我们随便打开一个需要ssh靶场的链接:
我们直接点击链接时无法访问的:
这个时候我们打开命令提示符cmd
或 PowerShell
进行连接都是可以的:
输入命令ssh root@challenge.qsnctf.com -p 36770
,其中 36770 是根据题目网址的端口号。
注意:如果是默认22端口,是不用加 -p
参数的
随后输入 yes
,再输入密码qsnctf回车即可(密码是不会明文显示出来的)
总结
首次连接时,会要求你输入密码。如果远程设备使用非标准 22 端口,需要指定端口号:
注意:如果是默认22端口,是不用加 -p
参数的
ssh 用户名@服务器名称 -p 端口号ssh root@challenge.qsnctf.com -p 36770 ## 例子