一、 用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。