天天看點

openssh的使用方法

本次使用openssh 作為ssh 客戶機伺服器之間的溝通工具

ssh 作為加密協定的溝通工具,本次采用密鑰對的方式進行通訊,生成密鑰對,将公鑰放在server處,私鑰放在client端。

  1. 安裝openssh, 去git 上下載下傳
  2. 安裝到windows server

    解壓 Openssh-Win64.zip, 拷貝Openssh-Win64到磁盤任意路徑,運作install-sshd.ps1 腳本,可以在此目錄按住shift ,同時滑鼠右鍵 選擇 open windows powershell here…, 即在此目錄下打開windows powershell ,輸入

    .\install-sshd.ps1

    回車,就安裝了。
openssh的使用方法
openssh的使用方法

3. 安裝後,打開

C:\ProgramData\ssh

目錄找到sshd_config 檔案修改:

PasswordAuthentication yes
PubkeyAuthentication yes
#Match Group administrators
 #      AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
           
  1. 在此檔案看到

    AuthorizedKeysFile .ssh/authorized_keys

    , 也就是說此處是存放openssh key 的地方,存儲的是public key, 但public key 怎麼産生呢?在server端還是在client 端? 網上流言都是在用戶端産生,但實際其實在哪裡産生都可以。本次我這裡就是在服務端産生的。

    打開window cmd 指令行視窗輸入

    ssh-kengen -t rsa

    ,然後一路回車,都采用預設值。就生成一對密鑰對(此處密鑰方式為 rsa,還有另外一種dsa 本人沒有使用過,有興趣的同學可以深入研究。)
    openssh的使用方法
  2. 然後就在%userprofile%/.ssh目錄下看到剛剛産生的密鑰對,
openssh的使用方法

id_rsa.pub為公鑰,用記事本打開,可以看到使用者名@機器名是啥:

openssh的使用方法

全部複制,拷貝到authorized_keys這個二進制檔案中,儲存:

openssh的使用方法

不知道怎麼建立二進制檔案的同學,可以先建立一個腳本檔案1.txt, 然後rename 就可以了 打開cmd終端 運作

ren 1.txt authorized_keys

即可。

此時ssh 服務端已經部署好了。

  1. 打開services 将openssh 相關的service 重新開機,使上述所有setting生效:
    openssh的使用方法
    此時服務端所有配置就已經設定好了

8.将私鑰拷貝到jenkins credential中,用于做程式的部署, 即jenkins作為用戶端