如何在 Windows 11 或 10 上使用 Winget 安装 OpenSSH
nanshan 2025-06-10 00:11 14 浏览 0 评论
SSH(Secure Shell)是大多数开发人员和系统管理员用来通过 Linux 远程连接托管服务器或任何云服务的工具,因为 SSH 在 Linux 中是内置的。然而,对于 Windows 呢?是的,Windows 系统上有 SSH 客户端,但服务器包是没有的。因此,本文将讨论如何在 Windows 11 或 10 上使用 Winget 命令行包管理器快速设置 OpenSSH 服务器包。
什么是 SSH,为什么你需要它?
SSH(Secure Shell)是一种通过加密网络安全连接到远程系统的协议。它应用广泛,远程服务器访问,需要快速发出命令并管理系统,而无需物理访问它。可以在其基础上使用 SCP 和 SFTP 进行加密文件传输。可以进行隧道和端口转发
了解如何安装和使用 SSH 对于使用 Linux 服务器、云实例或 Git 仓库 是至关重要的。
Winget 是什么?
对于那些对包管理器不太熟悉的人来说,Winget 是微软为 Windows 10 和 11 系统开发的开源命令行工具。它允许用户从 CMD 或 PowerShell 界面安装应用程序包,无需访问软件网站并手动单独下载它们。例如,要在 Windows 上安装 Google Chrome,我们无需访问其官方网站;我们只需运行一个 Winget 命令即可完成安装。我们甚至可以通过一个命令升级或卸载应用程序,无需手动下载安装程序。
简而言之,Winget 使安装软件变得极其简单。同样,使用 Winget 安装 SSH 更快,并且可以确保你获得最新官方版本,无需搜索下载链接。聪明你的应该发现,winget 有点类似于 Linux 系统下的 yum、dnf、apt、yast、apk 等包管理器
第一步:打开 PowerShell 或命令提示符
我们需要管理员权限来安装应用程序;因此,我们必须以管理员身份启动命令提示符或 PowerShell。为此,右键单击 Windows 【 开始 】 按钮,点击 【 终端管理员】 或 【 Windows PowerShell(管理员)】 选项。
第二步:搜索 OpenSSH 包
我们首先需要确认 OpenSSH 包是否通过 Winget 仓库可用;因此,在命令终端中输入以下命令:
winget search openssh
如屏幕截图所示,有两个与我们查询相关的包。在这里,我们将安装第二个 Microsoft 的 Preview 版本。
第三步:运行 Winget SSH 安装命令
借助上一步的命令,我们知道了要安装的包的确切 APP ID。因此,让我们使用 “winget install” 命令来获取 OpenSSH Beta 包。
winget install Microsoft.OpenSSH.Preview
此命令执行以下操作:获取 Microsoft OpenSSH 包。从 Winget 仓库中安装最新可用版本。确保包正确安装,无需手动下载。
第四步:验证 SSH 安装
安装完成后,通过运行以下命令来检查 SSH 是否已安装:
ssh -V
这将返回已安装的 SSH 版本,如果返回了类似 OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2 这样的信息,就证明安装成功。
如何在 Windows 上启用和启动 SSH
安装 SSH 只是过程的一部分。你必须启用并启动 SSH 服务,才能将 SSH 用作 Windows 10 或 11 服务器。
第一步:启用 SSH 服务
在 PowerShell 中运行以下命令以启用 SSH。这将确保 SSH 在你启动电脑时自动启动。
Set-Service -Name sshd -StartupType Automatic
第二步:手动启动或停止 SSH 服务
现在,要手动在 Windows 上启动或停止 SSH 服务器服务,请使用 PowerShell,以下是命令:
要手动启动 SSH 服务器,请输入:
Start-Service -Name sshd
如果需要停止 SSH,请使用:
Stop-Service -Name sshd
第三步:允许 SSH 通过 Windows 防火墙
默认情况下,SSH 端口 22 允许通过 Windows Defender 防火墙进行通信;然而,如果未允许,我们可以使用以下命令打开它。这将允许通过 SSH 进行远程连接。
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
现在,你的系统已准备好接受 SSH 连接!
如何在 Windows 10 或 11 上使用 SSH
到目前为止,我们已经讨论了使用 Winget 安装 SSH 服务器的过程。让我们看看一些基本用例:
1. 连接到远程服务器
一旦有了 SSH,我们就可以使用它来在 Windows 上安全地连接到服务器,无论是 Linux VPS 还是云实例(如 AWS、Azure 或 DigitalOcean),以下是使用 SSH 登录的示例:
ssh username@your-server-ip
例如,如果服务器 IP 是 192.168.1.100,用户名是 admin,请运行:
ssh admin@192.168.1.100
如果是首次连接,你会看到一个指纹确认——输入 yes 继续。
2. 使用 SCP 安全传输文件
想在 Windows 机器和远程服务器之间传输文件吗?使用 SCP:
scp myfile.txt user@remote-ip:/home/user/
这会将 myfile.txt 安全地复制到远程机器的 /home/user/ 目录。
3. 创建 SSH 密钥以实现无密码登录
无需每次输入密码,你可以使用 SSH 密钥:
在 Windows 上生成 SSH 密钥
在 PowerShell 中运行以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
然后,将密钥复制到远程服务器:
ssh-copy-id user@remote-ip
现在,你可以无需输入密码登录!
解决 SSH 安装问题
如果你遇到问题,这里有一些解决方法:
1. 未找到 Winget 命令
如果未识别 winget,请确保你使用的是 Windows 10(版本 1809+)或 Windows 11。如果缺失,请从 Microsoft Store 安装 App Installer 包。
2. SSH 命令未找到
如果安装后 ssh 无法工作,请重启电脑或手动将 SSH 添加到系统的 PATH 变量:
setx PATH "%PATH%;C:\Windows\System32\OpenSSH"
然后,重新启动 PowerShell 并再次尝试 ssh -V。
3. SSH 服务无法启动
如果 SSH 无法启动,请运行:
Get-Service sshd
如果已停止,请使用以下命令重新启动它:
Start-Service ssh
正如本文所见,使用 Winget 在 Windows 上安装 SSH 非常简单,只需一个命令即可完成。一旦在 Windows 11 或 10 上完全配置了 SSH,使用 Git 管理 云服务器 或自动化任务将变得轻而易举。那些寻找替代方案的人可以尝试 SSH 隧道 或 使用 Windows 子系统 for Linux (WSL) 配置 SSH,这更容易且更灵活,特别是如果你熟悉 Ubuntu Linux 命令。
相关推荐
- 使用nginx配置域名及禁止直接通过IP访问网站
-
前段时间刚搭建好这个网站,一直没有关注一个问题,那就是IP地址也可以访问我的网站,今天就专门研究了一下nginx配置问题,争取把这个问题研究透彻。1.nginx配置域名及禁止直接通过IP访问先来看n...
- 如何在 Linux 中使用 PID 号查找进程名称?
-
在Linux的复杂世界中,进程是系统运行的核心,每个进程都由一个唯一的「进程ID」(PID)标识。无论是系统管理员在排查失控进程,还是开发者在调试应用程序,知道如何将PID映射到对应的进程名称都是一项...
- Linux服务器硬件信息查询与日常运维命令总结
-
1.服务器硬件信息查询1.1CPU信息查询命令功能描述示例lscpu显示CPU架构、核心数、线程数等lscpucat/proc/cpuinfo详细CPU信息(型号、缓存、频率)cat/proc/c...
- Ubuntu 操作系统常用命令详解(ubuntu常用的50个命令)
-
UbuntuLinux是一款流行的开源操作系统,广泛应用于服务器、开发、学习等场景。命令行是Ubuntu的灵魂,也是高效、稳定管理系统的利器。本文按照各大常用领域,详细总结Ubuntu必学...
- 从 0 到 1:打造基于 Linux 的私有 API 网关平台
-
在当今微服务架构盛行的时代,API网关作为服务入口和安全屏障,其重要性日益凸显。你是否想过,不依赖商业方案,完全基于开源组件,在Linux上构建一个属于自己的私有API网关平台?今天就带你...
- Nginx搭建简单直播服务器(nginx 直播服务器搭建)
-
前言使用Nginx+Nginx-rtmp-module在Ubuntu中搭建简单的rtmp推流直播服务器。服务器环境Ubuntu16.04相关概念RTMP:RTMP协议是RealTi...
- Linux连不上网?远程卡?这篇网络管理指南你不能错过!
-
大家好!今天咱们聊个所有Linux用户都躲不开的“老大难”——网络管理。我猜你肯定遇到过这些崩溃时刻:新装的Linux系统连不上Wi-Fi,急得直拍桌子;远程服务器SSH连不上,提示“Connecti...
- 7天从0到上线!手把手教你用Python Flask打造爆款Web服务
-
一、为什么全网开发者都在疯学Flask?在当今Web开发的战场,Flask就像一把“瑞士军刀”——轻量级架构让新手3天速成,灵活扩展能力又能支撑百万级用户项目!对比Django的“重型装甲”,Flas...
- nginx配置文件详解(nginx反向代理配置详解)
-
Nginx是一个强大的免费开源的HTTP服务器和反向代理服务器。在Web开发项目中,nginx常用作为静态文件服务器处理静态文件,并负责将动态请求转发至应用服务器(如Django,Flask,et...
- 30 分钟搞定 Docker 安装与 Nginx 部署,轻松搭建高效 Web 服务
-
在云计算时代,利用容器技术快速部署应用已成为开发者必备技能。本文将手把手教你在阿里云轻量应用服务器上,通过Docker高效部署Nginx并发布静态网站,全程可视化操作,新手也能轻松上手!一、准...
- Nginx 配置实战:从摸鱼到部署,手把手教你搞定生产级配置
-
各位摸鱼搭子们!今天咱不聊代码里的NullPointerException,改聊点「摸鱼必备生存技能」——Nginx配置!先灵魂拷问一下:写了一堆接口却不会部署?服务器被恶意请求打崩过?静态资源加载...
- 如何使用 Daphne + Nginx + supervisor部署 Django
-
前言:从Django3.0开始支持ASGI应用程序运行,使Django完全具有异步功能。Django目前已经更新到5.0,对异步支持也越来越好。但是,异步功能将仅对在ASGI下运行的应用程序可用...
- Docker命令最全详解(39个最常用命令)
-
Docker是云原生的核心,也是大厂的必备技能,下面我就全面来详解Docker核心命令@mikechen本文作者:陈睿|mikechen文章来源:mikechen.cc一、Docker基本命令doc...
- ubuntu中如何查看是否已经安装了nginx
-
在Ubuntu系统中,可以通过以下几种方法检查是否已安装Nginx:方法1:使用dpkg命令(适用于Debian/Ubuntu)bashdpkg-l|grepnginx输出...
- OVN 概念与实践(德育概念的泛化在理论和实践中有什么弊端?)
-
今天我们来讲解OVN的概念和基础实践,要理解本篇博客的内容,需要前置学习:Linux网络设备-Bridge&VethPairLinux网络设备-Bridge详解OVS+Fa...
你 发表评论:
欢迎- 一周热门
-
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
手机如何设置与显示准确时间的详细指南
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
一加手机与电脑互传文件的便捷方法FileDash
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
- 最近发表
-
- 使用nginx配置域名及禁止直接通过IP访问网站
- 如何在 Linux 中使用 PID 号查找进程名称?
- Linux服务器硬件信息查询与日常运维命令总结
- Ubuntu 操作系统常用命令详解(ubuntu常用的50个命令)
- 从 0 到 1:打造基于 Linux 的私有 API 网关平台
- Nginx搭建简单直播服务器(nginx 直播服务器搭建)
- Linux连不上网?远程卡?这篇网络管理指南你不能错过!
- 7天从0到上线!手把手教你用Python Flask打造爆款Web服务
- nginx配置文件详解(nginx反向代理配置详解)
- 30 分钟搞定 Docker 安装与 Nginx 部署,轻松搭建高效 Web 服务
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)