安装方法
近期开始学习Redis
,准备直接拿Linux
虚拟机练手,然而在尝试使用PowerShell
进行连接时,确报ssh
不存在(如下图),经过查阅资料,解决方案记录如下:
Win+i打开设置:
应用->可选功能:
添加功能:
勾选OpenSSH客户端
并点击安装:
正在安装:
安装完成:
解决问题:
(可执行程序路径:C:\Windows\System32\openssh\ssh.exe
)
他山之石
此外,记录使用 PowerShell
安装 OpenSSH
的方法:
以管理员身份运行
PowerShell
。 为了确保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
服务器安装后,可从使用
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
。
参考资料:
https://www.howtogeek.com/336775/how-to-enable-and-use-windows-10s-built-in-ssh-commands/
https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse
版权属于:soarli
本文链接:https://blog.soarli.top/archives/600.html
转载时须注明出处及本声明。