Byte Ebi's Logo

Byte Ebi 🍤

每天一小口,蝦米變鯨魚

設定 ssh 金鑰登入遠端主機

使用 ssh key 登入遠端主機而不使用密碼登入

Ray

一般登入伺服器是使用帳號與密碼進行登入,但是密碼可能會因為抄錄或是傳遞給人而外洩
安全性的程度會比較沒有像SSH key 那麼安全,而且使用SSH key 登入可以就不用每次手動輸入密碼

建立登入端的 ssh key

使用者端建立 ssh key,使用指令

ssh-keygen

注意:ssh key 要是 RSA 的格式,如果是 OPENSSH 會不斷的報錯
參考資料:mac majave 10.14.1 ssh-keygen 金鑰格式問題

預設會產生在 .ssh/ 路徑下

如果是用複製別人的 id_rsa 和 id_rsa.pub 的話需要重新設定權限,否則會報錯

chmod 600 id_rsa
chmod 644 id_rsa.pub

權限說明

-rw------- (600) -- 只有屬主有讀寫權限。
-rw-r--r-- (644) -- 只有屬主有讀寫權限;而屬組用戶和其他用戶只有讀權限。
-rwx------ (700) -- 只有屬主有讀、寫、執行權限。
-rwxr-xr-x (755) -- 屬主有讀、寫、執行權限;而屬組用戶和其他用戶只有讀、執行權限。
-rwx--x--x (711) -- 屬主有讀、寫、執行權限;而屬組用戶和其他用戶只有執行權限。
-rw-rw-rw- (666) -- 所有用戶都有文件讀、寫權限。這種做法不可取。
-rwxrwxrwx (777) -- 所有用戶都有讀、寫、執行權限。更不可取的做法。

以下是對目錄的兩個普通設定:

drwx------ (700) - 只有擁有者可在目錄中讀、寫。
drwxr-xr-x (755) - 所有用戶可讀該目錄,但只有擁有者才能改變目錄中的內容

遠端主機設定

登入遠端主機之後,檢查使用者家目錄是否存在 ./ssh/authorized_keys 檔案
若沒有則自行建立,並設定權限 chmod 600 authorized_keys
檔案內容為剛剛產生的 id_res.pub 的內容

範例:

ssh-rsa AABAB3NzaC1yc2Gmy80/{...中略...}/UD9CBSzNAya7r6w==

補充

讓雲端主機可以存取版本庫

  1. 建立 GCP 使用者後,依照上面做法產生 ssh key
  2. 把 public key 加到版本庫的 ssh key 列表中

最新文章

Category

Tag