(Windows)- 如何在Win7安裝OpenSSH

(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

openSSH-Win32.zip

openSSH-Win64.zip

 

二、使用 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.若侵犯了您的合法權益,請來信通知我們,我們會及時刪除,給您帶來的不便,深表歉意。



發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *