补充,关于Windows 10部署密码登录的SSH服务
首先指明,OpenSSH服务建议在git和commitizen配置完成之后进行设置,以免出现干扰正常软件运行环境的配置。
家庭版在通过设置安装OpenSSH的时候可能因为权限等问题导致无法正常安装或安装后无法运行。在卸载服务之后,原有的配置文件仍然会被保留并用于下一次安装;手动删除这些配置文件后,会导致无法再次从设置的图形化界面里安装OpenSSH服务器。
接下来是安装流程,确保本地能找到的SSH服务器已被卸载并删除相关配置文件和注册表等,尽力而为即可。
安装前提:有本地帐号(不是微软账号!),这个本地帐号必须有密码。
首先在GitHub下载zip包
https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v9.2.0.0p1-Beta
zip包内的文件解压后移动到:C:\Program Files\OpenSSH
在该路径下以管理员权限打开PowerShell,执行:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
为ssh设置防火墙,执行:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
开启 ssh 服务并设置开机启动,执行:
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
检查刚刚配置的防火墙规则是否存在并且正在起效,执行:
Get-NetFirewallRule -Name *ssh*
PowerShell应当返回一条名为OpenSSH-Server-In-TCP的规则,Enable字段为true。如果没有这条规则,执行这条命令重新建立防火墙规则:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
此时可以使用ssh 用户名@ip地址在其他机器上登录这台Windows主机,登录完成后会显示主机上的CMD。

