问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Windows系统SSH server服务配置指南

创作时间:
作者:
@小白创作中心

Windows系统SSH server服务配置指南

引用
CSDN
1.
https://blog.csdn.net/weixin_45144044/article/details/143205989

本文将详细介绍如何在Windows系统(Windows 10 build 1809及Windows Server 2019及以上版本)上开启SSH server服务。从安装、配置到使用SSH密钥登录,手把手教你搭建自己的SSH服务器。

安装sshd

点击
设置->系统->可选功能->添加可选功能
,勾选
OpenSSH服务器
,等待Windows下载安装完毕。
如上图这个
可选功能
不同Windows版本位置可能不同,Windows 10应该在
设置->应用->应用和功能->管理可选功能
下;也可直接按Windows键在搜索框中搜索
可选功能
来打开。

开启sshd服务

以管理员身份打开命令行,运行如下命令启动ssh后台进程

net start sshd  

运行如下命令配置sshd开机自启动

sc config sshd start=auto  

停止sshd服务命令为

net stop sshd  

随后在另一台电脑B上即可使用
ssh username@host
来登录此台电脑A,其中username是A上的用户名,host为A的网络IP。

配置ssh默认使用的shell

前面使用ssh命令连接电脑A,可以发现默认打开的终端是Windows的
cmd
,参考微软官方文档,这个默认终端可通过如下命令进行配置

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force  

如上命令需要在电脑A上以管理员权限运行。
其中
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
可以替换为想使用的其他终端的路径,比如powershell7,一般是
C:/Program Files/PowerShell/7/pwsh.exe
如若仅临时想使用其他终端,可使用如下命令
ssh username@host pwsh
这其实利用了
ssh
的特性,会将
username@host
后面的内容当作需要在远程服务器上运行的指令,所以前提需要
pwsh
在远程电脑A上的
path环境变量

配置ssh启用密钥登录

在运行ssh命令连接至远程电脑A时,目前为止都需要输入密码进行验证。也可以在远程电脑A上配置以启用密钥登录。
参考微软文档,对于一般有管理员权限的用户,需要在文件夹
C:\ProgramData\ssh\
下新建文件
administrators_authorized_keys
,可用记事本打开此文件,拷贝ssh客户端B的ssh公钥至文件中,保存并退出。
接着以管理员权限打开命令行,运行如下命令

icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"  

随后在此命令行中重启sshd服务

net stop sshd  
net start sshd  

如上即配置完成

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号