admin 管理员组

文章数量: 887021

Windows下安装openSSH


简介:OpenSSH 是安全 Shell (SSH) 工具的开放源代码版本,Linux 及其他非 Windows 系统的管理员使用此类工具跨平台管理远程系统。 OpenSSH 在 2018 年秋季已添加至 Windows,并包含在 Windows 10 和 Windows Server 2019 中。

本文介绍三种安装方式:

方式1:使用 Windows 设置来安装 OpenSSH

方式2:使用 PowerShell 安装 OpenSSH

方式3:下载OpenSsh安装包进行安装

方式1\2:适用于 Windows Server 2019、Windows 10(2018秋季之后发行的版本)、Windows Server 2022、Windows 11

方式3 适用(除Windows 2000、XP 或 2003外)所有版本,安装时请选择合适的安装包版本。

附录:

OpenSSH:手册页:https://www.openssh/manual.html

openssh下载地址:https://www.mls-software/opensshd.html

一、使用 Windows 设置来安装 OpenSSH

可以使用 Windows Server 2019Windows 10(2018秋季之后发行的版本) 设备上的 Windows 设置安装这两个 OpenSSH 组件。

若要安装 OpenSSH 组件:

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

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

#1、开启服务命令 
net start sshd
#2、关闭服务
net stop sshd
#默认端口为22

备注:

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

二、使用 PowerShell 安装 OpenSSH

若要使用 PowerShell 安装 OpenSSH,请先以管理员身份运行 PowerShell(win+x快捷键进行打开)。 为了确保 OpenSSH 可用,请运行以下 cmdlet:

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 服务器来开启使用,请以管理员身份打开 PowerShell,然后运行以下命令来启动 sshd service

# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

三、下载OpenSsh安装包进行安装

openssh下载地址:https://www.mls-software/opensshd.html

若系统为Windows 2000、XP 或 2003,请选择mls-software。

选择

客户端-安装ssh客户端命令行工具(如果您想连接到其他ssh服务器)

服务器-安装ssh服务器命令行应用程序(如果您想为其他人提供一个ssh服务器来连接)

开始菜单快捷方式-一些开始菜单快捷键

注意:需要解释的屏幕是“选择执行SSHD的帐户”。SSH守护程序(SSHD)可以作为Local_System或SSHD_Server运行。如果您使用的是Windows Server(2003/2008/2008R2/等),您可能必须将其作为SSHD_Server运行,但所有其他服务器都应该能够将其作为Local_System运行。为您填写的默认密码是“D0ntGu3$$M3”——我建议您更改它!您可以稍后使用“服务控制面板”对此进行更改。

此密码不是连接ssh服务时的密码

默认端口为22,若您更改其他端口后,连接时请添加 -p 端口

安装完成后:
OpenSSH将开始为您的系统安装和配置自身。 此时,openssh 已针对您的系统进行设置和配置。 试试这个,打开一个命令提示符(cmd.exe)并尝试: ssh -v(适用于OpenSSH 6.3及更低版本) ssh -V(适用于OpenSSH 6.4及更高版本),
若无法查询,建议重启电脑尝试。

#启动服务
net start opensshd
#终止服务
net stop opensshd

使用管理员方式启动

备注:安装后程序会提示给默认密码,此密码不作为ssh连接时的登录密码,

连接密码为系统登录密码,连接名为系统当前账号名

连接到 OpenSSH 服务器

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

ssh username@servername
#例如 
ssh Administrator@127.0.0.1

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

The authenticity of host 'servername (127.0.0.1)' 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>

若连接后无前面的用户名称,则连接失败,请检查安装的Openssh的版本是否过低或者过高导致的与系统不兼容

本文标签: Windows openssh