Windows安装OpenSSH教程

1,322次阅读
没有评论

共计 4346 个字符,预计需要花费 11 分钟才能阅读完成。

Windows配置OpenSSH

适用于 Windows Server 2019、Windows 10、Windows Server 2022

OpenSSH 是一款用于远程登录的连接工具,它使用 SSH 协议。 它会加密客户端与服务器之间的所有流量,从而遏止窃听、连接劫持和其他攻击。

OpenSSH 可用于将安装了 OpenSSH 客户端的 Window 10(版本 1809 及更高版本)或 Windows Server 2019 设备连接到那些安装了 OpenSSH 服务器的设备。

如果你是从 GitHub 存储库 (PowerShell/openssh-portable) 下载的 OpenSSH,请按照该网页中列出的说明操作,而不是遵照本文列出的说明。

 

使用 Windows 设置来安装 OpenSSH

可以使用 Windows Server 2019Windows 10 设备上的 Windows 设置安装这两个 OpenSSH 组件。

若要安装 OpenSSH 组件:

  1. 打开“设置”,选择“应用”>“应用和功能”,然后选择“可选功能” 。
  2. 扫描列表,查看是否已安装 OpenSSH。 如果未安装,请在页面顶部选择“添加功能”,然后:
    • 查找“OpenSSH 客户端”,再单击“安装”
    • 查找“OpenSSH 服务器”,再单击“安装”

设置完成后,回到“应用”>“应用和功能”和“可选功能”,你应会看到已列出 OpenSSH 。

 

安装 OpenSSH 服务器将创建并启用一个名为 OpenSSH-Server-In-TCP 的防火墙规则。 这允许端口 22 上的入站 SSH 流量。 如果未启用此规则且未打开此端口,那么连接将被拒绝或重置。

 

使用 PowerShell 安装 OpenSSH

若要使用 PowerShell 安装 OpenSSH,请先以管理员身份运行 PowerShell。 为了确保 OpenSSH 可用,请运行以下命令:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

如果两者均尚未安装,则此操作应返回以下输出:

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

然后,根据需要安装服务器或客户端组件:

# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

这两者应该都会返回以下输出:

Path          :
Online        : True
RestartNeeded : False

 

启动并配置 OpenSSH 服务器

若要启动并配置 OpenSSH 服务器来开启使用,请以管理员身份打开 CMD,然后运行以下命令来启动 sshd service

# 启动OpenSSH服务
C:\Users\Administrator>net start sshd
OpenSSH SSH Server 服务正在启动 ..
OpenSSH SSH Server 服务已经启动成功。

# 设置sshd service为启动方式为自动
C:\Users\Administrator>sc config sshd start=auto
[SC] ChangeServiceConfig 成功

 

连接到 OpenSSH 服务器

安装后,可从使用 PowerShell 安装了 OpenSSH 客户端的 Windows 10 或 Windows Server 2019 设备连接到 OpenSSH 服务器,如下所示。 请务必以管理员身份运行 PowerShell:

ssh username@servername

连接后,会收到如下所示的消息:

The authenticity of host 'servername (10.00.00.001)' can't be established.
ECDSA key fingerprint is SHA256:(<a large string>).
Are you sure you want to continue connecting (yes/no)?

选择“是”后,该服务器会添加到包含 Windows 客户端上的已知 SSH 主机的列表中。

系统此时会提示你输入密码。 作为安全预防措施,密码在键入的过程中不会显示。

连接后,你将看到 Windows 命令行界面提示符:

domain\username@SERVERNAME C:\Users\username>

 

使用 Windows 设置来卸载 OpenSSH

若要使用 Windows 设置来卸载 OpenSSH:

  1. 打开“设置”,然后转到“应用”>“应用和功能” 。
  2. 转到“可选功能”。
  3. 在列表中,选择“OpenSSH 客户端”或“OpenSSH 服务器” 。
  4. 选择“卸载”。

 

使用 PowerShell 卸载 OpenSSH

若要使用 PowerShell 卸载 OpenSSH 组件,请使用以下命令:

# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

如果在卸载时服务正在使用中,稍后可能需要重启 Windows。

 

低版本的Windows系统安装

下面以windows server 2008R2做演示:

下载解压好OpenSSH-Win64.zip到指定文件夹

下载地址:https://github.com/PowerShell/Win32-OpenSSH

安装powershell:

![图形用户界面, 文本, 应用程序 描述已自动生成]Windows安装OpenSSH教程

 

将OpenSSH压缩包解压到指定目录,打开powershell进入该目录下面,执行下方语句:

.\install-sshd.ps1

执行过程如下图:

Windows安装OpenSSH教程

 

如果出现下图错误提示,执行该命令set-executionpolicy remotesigned,按照提示输入Y,继续安装即可。

Windows安装OpenSSH教程

配置环境变量,把OpenSSH安装路径按照格式添加到后面即可。

Windows安装OpenSSH教程

 

设置开机自启动

打开CMD输入下方命令启动SSH服务,并设置为开机自启动。

net start sshd

sc config sshd start=auto

Windows安装OpenSSH教程

输入命令测试是否能连接成功:

SSH username@IP地址

SSH username@servername

Windows安装OpenSSH教程

输入密码后跳转到该页面表示连接成功:

Windows安装OpenSSH教程

 

Windows配置OpenSSH免密登录

如果你想在两台 Windows 机器之间设置免密登录,你需要先在客户端机器上生成公钥和私钥。可以在CMD命令提示符中运行 ssh-keygen -t rsa 命令来生成密钥

接下来,你需要将客户端的公钥(id_rsa.pub 文件的内容)复制到远程 Windows 机器的 C:\Users\username\.ssh\authorized_keys 文件中。如果远程机器上没有 .ssh 文件夹,你需要手动创建它。

这样就完成了免密登录的设置。

 

接下来看一下演示过程:

生成公钥

以管理员身份打开 CMD 命令提示符,输入 ssh-keygen -t rsa 命令,并按三下回车键:

C:\Users\Administrator>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Administrator/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Administrator/.ssh/id_rsa
Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:TsdqDVzPYA09iNQPR5PWwC2GH7DHsIYwEl3D3/4cmTE administrator@zhougong
The key's randomart image is:
+---[RSA 3072]----+
|    ooo++o+B+=   |
|     ..ooo=B@.o  |
|        ..BO++   |
|       . =.=+ E  |
|        S o.o  = |
|       o =  . +  |
|        + .  o . |
|       .      o  |
|                 |
+----[SHA256]-----+

C:\Users\Administrator>

 

保存公钥

查看id_rsa.pub 文件的内容:

Windows安装OpenSSH教程

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDBmDyiyo6IBGBGsUT0zd8oWT8QsI1S+uZcJzN3xCzwEi34W54AqO7eBz6L6L1dBss3e6UmQDc0HZqS4LjcYeIl32DQw7oH7waJetvC2MeRtIrXoFjywXbl1aVliJeNFswQYSwvNDQSL7XzcmIJ+Y61EH1MFGnSiq983WBMqj1DqJytu5BcMU2X4SIYtUGR84kE6jW43BTPzn72sFYCmg20fcr4iEeVPDHr3L3pgzf20F9qjNmVeRSI5IRTd2g0VNoRiyflu8XkTxHdQn+wquJXo4KIZCC2jT74kS524JP0fAn+qlSM4+xrYKU5bV+wu5lnoTRLR3PEnysixaRIFcSMq5UgXEMJjsSzGO4urjyWI6PcjdGPPA7LA2k0YuN12LZI9cFnngL+fhQ7yV7Ik5z4sIh6GmnqG9Osa0O2E30ws0ZiBTlUQrXWwnr76shMpW+7jiblVaFek986ULuFRGFm766ZdmBZ0HXLhKGSLAXCxa6/n79pEmU8ke/kmBEaMVE= administrator@zhougong

把公钥的内容保存到服务端 C:\Users\username\.ssh\authorized_keys 文件中。如果远程机器上没有 .ssh 文件夹,你需要手动创建它。

服务端配置截图:

Windows安装OpenSSH教程

 

验证配置

客户端打开 CMD 命令提示符,输入 ssh 用户名@IP地址 或者输入 ssh 用户名@主机名 命令验证是否成功:

Windows安装OpenSSH教程

正文完
 
评论(没有评论)