(Windows)- 如何在Win7安裝OpenSSH

(Windows)- 如何在 Win7 安裝 OpenSSH
SSH是遠端登入很好用的指令,但 Win7 沒有內建 SSH,有需要的可以參考這一篇。( 親測可行 )
~~~~~~
寫在前面的話:
開發環境經常是 Windows 系統,經常需要使用 SSH 遠端登入,有時又需要換別的 Windows 使用。
SSH 遠端登入很好用,雖然 Win10 已經集成了 OpenSSH,但是 Win7 卻沒有
win7 安裝 OpenSSH 沒 Linux下方便,這裡記錄 Win7 下,如何安裝 OpenSSH
PS:
筆者使用 Windows 至今,Win98 WinXP Win7 都是不錯用
而 Win10 先不說好不好用,其容量實在是太大了,更新也行頻瀪
現在反而使用 Linux 比較多了
~~~~~~
一、下載 OpenSSH
二、使用 cmd 命令安裝 OpenSSH
Step.1 解壓到 C:\Program Files\OpenSSH
據說官方要求放在這個目錄下,跟著做就可以了。
但,其實可以創建自己喜歡的目錄。
PS:( 建議加入環境變數使用比較方便 )
1. 如果只是用戶端使用,而不需要作為服務端,則到此為止。
進入 C:\Program Files\OpenSSH 下,啟動 cmd 即可執行 ssh 登錄到指定的伺服器。
2. 也可以把 C:\Program Files\OpenSSH 目錄添加到系統環境變數,未來使用就可以不用進目錄。
我的電腦 –> 屬性 –> 高級系統設置 –> 環境變數 –> 系統變數 –> Path 末尾添加
;C:\Program Files\OpenSSH
Step.2 管理員啟動 cmd 進入 OpenSSH 目錄
1. 安裝 sshd 服務
在該目錄下運行命令安裝 sshd 和 ssh-agent 服務:
$ powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
PS:( 選用 )
執行 .\ssh-keygen.exe -A
命令,生成主機金鑰,該金鑰用於服務啟動。
2. 創建防火牆規則,開放 22 埠
$ netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
PS:
name=sshd 也可以 name=”sshd”
開放22號埠(如果在 Windows 關閉了防火牆並配置了入站規則可以不執行如下命令,但多執行不影響)
3. 配置開啟啟動 sshd 服務
$ sc config sshd start= auto
4. 安裝完成,啟動服務
第一次安裝完服務後,還需要手動打開一下服務,配置過自啟後就不用管了。
$ net start sshd
PS:( 選用,看需求 )
配置服務開啟動:Set-Service sshd -StartupType Automatic,Set-Service ssh-agent -StartupType Automatic。
5. 驗證 22 埠是否開起
使用 cmd 命令查看一下本機的 22 埠是否被監聽。
$ netstat -an
三、配置 Administrator 用戶使用公鑰免密碼登錄 ( 選用 )
1. 在目錄 %ProgramData%\ssh 下創建文件 administrators_authorized_keys,在該文件裡寫入公鑰。
2. 運行命令配置改文件權限:
icacls administrators_authorized_keys /inheritance:r icacls administrators_authorized_keys /grant SYSTEM:(F) icacls administrators_authorized_keys /grant BUILTIN\Administrators:(F)
四、Windows 如何刪除 OpenSSH
1. Windows 卸載 OpenSSH
C:\Program Files\OpenSSH 文件下中执行 cmd
powershell.exe -ExecutionPolicy Bypass -File uninstall-sshd.ps1
2. 刪除以下文件夾
C:\Program Files\OpenSSH
C:\Users\user.ssh
C:\ProgramData\ssh
五、常見錯誤匯總
Q1 問題描述:
RSA Could not save your public key in __PROGRAMDATA__\\ssh/xxxxxxx: No Such file of directory”
在執行 .\ssh-keygen.exe -A 命令時,產生該錯誤。
問題原因:
目錄 __PROGRAMDATA__\ssh 不存在,需要手動創建。
解決辦法:
創建 __PROGRAMDATA__\ssh 目錄。
Q2 問題描述:
Getting “System error 1067” when trying to start OpenSSH service #1272
Security protection of various files in Win32 OpenSSH
發生系統錯誤 1067(System error 1067)
在使用 net start sshd 命令啟動服務時,產生該錯誤。
問題原因:
私密金鑰文件由 .\ssh-keygen.exe -A 命令創建,位於 __PROGRAMDATA__\ssh 目錄,所屬使用者為創建私密金鑰用戶。
許可權錯誤導致該問題發生,私密金鑰檔許可權必須歸屬於 SYSTEM 用戶。
解決辦法:
修改私密金鑰檔的許可權,移除當前用戶。進入__PROGRAMDATA__\ssh目錄:
#!/bin/sh
icacls ssh_host_dsa_key /setowner system
icacls ssh_host_ecdsa_key /setowner system
icacls ssh_host_ed25519_key /setowner system
icacls ssh_host_rsa_key /setowner system
icacls ssh_host_dsa_key /remove "your username"
icacls ssh_host_ecdsa_key /remove "your username"
icacls ssh_host_ed25519_key /remove "your username"
icacls ssh_host_rsa_key /remove "your username"
免責聲明:
1.本影像檔案皆從網上搜集轉載,不承擔任何技術及版權問題。
2.如有下載連結僅供寬頻測試研究用途,請下載後在24小時內刪除,請勿用於商業。
3.若侵犯了您的合法權益,請來信通知我們,我們會及時刪除,給您帶來的不便,深表歉意。