windows安装openssh及error1067解决
一、 用powershell安装openssh ——参考
1. 到Github下载官方release包,一般选新版本的
2. 解压到C:\Program Files\OpenSSH,建议放在此目录下。并在解压目录下用管理员打开power shell
3. 根据下面命令安装sshd服务
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 # 安装sshd服务 netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22 # 开放22号端口 sc config sshd start= auto # 设置开机自启动 net start sshd # 启动sshd服务
在最后一条命令执行,遇到错误
OpenSSH SSH Server 服务正在启动 . OpenSSH SSH Server 服务无法启动。 系统出错。 发生系统错误 1067。 进程意外终止。
二、 问题1067解决 ——参考
原因: C:\ProgramData\ssh\目录下的文件的权限有问题,可以用 icacls filename 查看文件的所有者。该目录下文件正确的所有者应该为:
All the key files in this folder should ONLY be owned by following 2 system users:
- BUILTIN\Administrators
- NT AUTHORITY\SYSTEM
解决:OpenSSH的发行包中有解决该权限问题的工具FixHostFilePermissions.ps1,在OpenSSH目录下用power shell执行命令
cd 'C:\Program Files\OpenSSH-Win64' .\FixHostFilePermissions.ps1
解决完权限问题后,重新执行 net start sshd即可顺利启动服务,用ssh从远程连接Windows。