網頁

2021年11月16日 星期二

透過 private key 免帳密直接登入 SSH

 步驟:

  1. ssh-keygen -t rsa 產生 id_rsa & id_rsa.pub
  2. mv | cat | rename ~/.ssh/id_rsa.pub ~/.ssh/authorized_key
    • 此情境是在伺服器端處理,也可在客戶端產生後將 public key 資訊傳到伺服器端
    • 若有多筆公鑰內文可以附加到 authorized_key 檔案
    • 若 SSH 伺服器是 Window OpenSSH 且登入的帳號是屬於管理者身份。那就要將 id_rsa.pub 內文附加到 C:\ProgramData\ssh\administrators_authorized_keys 檔案內。
  3. id_rsa 傳給客戶端。客戶端將該檔放在 USERPROFILE\.ssh\* 就可以直接透過 SSH 免帳密直接登入使用 (e.g. ssh sftp@192.168.0.2)
  4. id_rsa 透過 puttygen (Tools bar: Conversions item) 轉換成 id_rsa.ppk
    • puttygen Tools Bar : Conversions item
    • Load id_rsa files and choice "Save private key" item
  5. 使用方式
    • 將 id_rsa.ppk 轉給 client 使用。如透過 filezilla client,登入形式採用金鑰,金鑰指向 id_rsa.ppk
    •  id_rsa (不用轉換 ppk ) 直接放到 windows 的使用者目錄內 (如,C:\Users\user_account\.ssh)後,再直接輸入 ssh user_account@IP 即可直接登入遠方主機
  6. 指定使用者產生供使用的 private key
    runas /user:account cmd,開啟視窗後,輸入密碼。以該身份執行以上的程序即可(authorized_keys 檔案放在該登入帳號的 .ssh 目錄內)。

備忘:公鑰與私鑰的製作可以在使用者端或是伺服器端。將公鑰放到伺服器端且將私鑰傳給要連線的客戶端。

相關參考:

 

沒有留言:

張貼留言