步驟:
- ssh-keygen -t rsa 產生 id_rsa & id_rsa.pub
- 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 檔案內。
- id_rsa 傳給客戶端。客戶端將該檔放在 USERPROFILE\.ssh\* 就可以直接透過 SSH 免帳密直接登入使用 (e.g. ssh sftp@192.168.0.2)
- 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
- 使用方式
- 將 id_rsa.ppk 轉給 client 使用。如透過 filezilla client,登入形式採用金鑰,金鑰指向 id_rsa.ppk
- id_rsa (不用轉換 ppk ) 直接放到 windows 的使用者目錄內 (如,C:\Users\user_account\.ssh)後,再直接輸入 ssh user_account@IP 即可直接登入遠方主機
- 指定使用者產生供使用的 private key
runas /user:account cmd,開啟視窗後,輸入密碼。以該身份執行以上的程序即可(authorized_keys 檔案放在該登入帳號的 .ssh 目錄內)。
備忘:公鑰與私鑰的製作可以在使用者端或是伺服器端。將公鑰放到伺服器端且將私鑰傳給要連線的客戶端。
相關參考:
- Set up SSH public key authentication to connect to a remote system
- Windows 使用 SSH 金鑰免密碼登入 Linux
- [教學] 使用 PuTTYgen 產生 SSH 連線 RSA、DSA 公鑰與私鑰
- 利用公鑰免密碼連線使用說明
- 從 Windows 使用金鑰免密碼登入 SSH/SFTP/SCP
- SSH key設定 免密碼連線伺服器