百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

如何在 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...

取消回复欢迎 发表评论: