「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战」
介绍
需求: 产品中需要用到ssh,ssh在Linux系统中是自带的。但我们的产品需要支持跨平台,需要同时支持Linux和Windows,因此需要寻找一个跨平台的ssh实现,通过寻找发现实际上在Win10 1809和Windows Server 2019开始已经内置了,使用的正是OpenSSH。
环境
安装 ssh 服务端
windows 安装 Openssh 有多种方案,我们采用方案二
方案一:使用源码自行编译安装
Windows官方将OpenSSH移植到Windows下
方案二:通过Windows可选程序安装
- 在“应用和功能”中点击"可选功能"
- 点击"添加功能"
- 点击”OpenSSH 服务器“,然后点击“安装”,稍等片刻后就安装成功了
- 安装后程序位于:C:\Windows\System32\OpenSSH
方案三:命令行安装
如果你喜欢简洁的命令行的话,同样简单,先运行下面的命令查看一下OpenSSH功能。
# 先查看一下软件
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
# 应该会展示以下输出,注意版本号将来可能会变,安装的时候注意
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
然后安装它们即可。
# 安装客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# 安装服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# 它们的输出应该类似下面这样
Path :
Online : True
RestartNeeded : False
结果和图形界面安装的完全相同。不管采用哪种方式,你现在都拥有了OpenSSH功能了。
启动SSH服务
下面打开管理员权限的powershell窗口,这次输入下面的命令来查看刚刚安装的OpenSSH服务,下面的sshd就是OpenSSH的服务端了。
Get-Service *|where Name -Like '*ssh*'
Status Name DisplayName
------ ---- -----------
Stopped ssh-agent OpenSSH Authentication Agent
Stopped sshd OpenSSH SSH Server
简单启动该服务即可。
Start-Service sshd
# 或
net start sshd