本次使用openssh 作為ssh 客戶機伺服器之間的溝通工具
ssh 作為加密協定的溝通工具,本次采用密鑰對的方式進行通訊,生成密鑰對,将公鑰放在server處,私鑰放在client端。
- 安裝openssh, 去git 上下載下傳
-
安裝到windows server
解壓 Openssh-Win64.zip, 拷貝Openssh-Win64到磁盤任意路徑,運作install-sshd.ps1 腳本,可以在此目錄按住shift ,同時滑鼠右鍵 選擇 open windows powershell here…, 即在此目錄下打開windows powershell ,輸入
回車,就安裝了。.\install-sshd.ps1

3. 安裝後,打開
C:\ProgramData\ssh
目錄找到sshd_config 檔案修改:
PasswordAuthentication yes
PubkeyAuthentication yes
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
- 在此檔案看到
AuthorizedKeysFile .ssh/authorized_keys
, 也就是說此處是存放openssh key 的地方,存儲的是public key, 但public key 怎麼産生呢?在server端還是在client 端? 網上流言都是在用戶端産生,但實際其實在哪裡産生都可以。本次我這裡就是在服務端産生的。
打開window cmd 指令行視窗輸入
,然後一路回車,都采用預設值。就生成一對密鑰對(此處密鑰方式為 rsa,還有另外一種dsa 本人沒有使用過,有興趣的同學可以深入研究。)ssh-kengen -t rsa
openssh的使用方法 - 然後就在%userprofile%/.ssh目錄下看到剛剛産生的密鑰對,
id_rsa.pub為公鑰,用記事本打開,可以看到使用者名@機器名是啥:
全部複制,拷貝到authorized_keys這個二進制檔案中,儲存:
不知道怎麼建立二進制檔案的同學,可以先建立一個腳本檔案1.txt, 然後rename 就可以了 打開cmd終端 運作
ren 1.txt authorized_keys
即可。
此時ssh 服務端已經部署好了。
- 打開services 将openssh 相關的service 重新開機,使上述所有setting生效: 此時服務端所有配置就已經設定好了
openssh的使用方法
8.将私鑰拷貝到jenkins credential中,用于做程式的部署, 即jenkins作為用戶端