windows开启ssh server服务

windows10(build 1809)以及windows 2019后已经集成了OpenSSH,不过默认安装启用的只有ssh-client,只能作客户端通过ssh登录其他电脑。若要开启ssh-server服务,则需以下设置。

安装sshd

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

开启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

如上即配置完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值