admin管理员组文章数量:1130349
windows10(build 1809)以及windows 2019后已经集成了OpenSSH,不过默认安装启用的只有ssh-client,只能作客户端通过ssh登录其他电脑。若要开启ssh-server服务,则需以下设置。
安装sshd
点击设置->系统->可选功能->添加可选功能,勾选OpenSSH服务器,等待windows下载安装完毕。
如上图这个可选功能不同windows版本位置可能不同,windows10应该在设置->应用->应用和功能->管理可选功能下;也可直接按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
如上即配置完成
windows10(build 1809)以及windows 2019后已经集成了OpenSSH,不过默认安装启用的只有ssh-client,只能作客户端通过ssh登录其他电脑。若要开启ssh-server服务,则需以下设置。
安装sshd
点击设置->系统->可选功能->添加可选功能,勾选OpenSSH服务器,等待windows下载安装完毕。
如上图这个可选功能不同windows版本位置可能不同,windows10应该在设置->应用->应用和功能->管理可选功能下;也可直接按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
如上即配置完成
版权声明:本文标题:windows开启ssh server服务 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/jiaocheng/1759779421a2819262.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论