SSH 金鑰身份驗證

您可以在主機中增加一個或數個 SSH 金鑰登入 sFTP 和 Git 而不用輸入密碼。

備註

SSH 金鑰認證無法用在緊急終端機。當您使用終端機時,必須輸入密碼。

下方會說明如何建立金鑰並且把金鑰增加到 Simple Hosting 主機中。

產生 SSH 金鑰

您可以使用 ssh-keygen 命令來產生一對金鑰。此命令會建立兩個檔案,放在 ~/.ssh/ 的目錄底下 (「~」 是家目錄的意思),預設的檔案名稱是 id_rsaid_ras.pub

兩個檔案都是文字格式的,存放您的私有金鑰 (id_rsa) 與公開金鑰 (id_rsa.pub)。將公開金鑰上傳到主機上面,就可以使用 SSH 金鑰進行身份驗證。

$ ssh-keygen -t rsa -b 2048

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa
Your public key has been saved in /home/user/.ssh/id_rsa.pub
The key fingerprint is:
eb:79:fb:3f:15:ff:3a:04:dd:46:74:3b:da:a2:2b:9b user@hostname
The key's randomart image is:
+--[ RSA 2048]----+
|               .o|
|                +|
|             . = |
|            . +.+|
|        S    + oo|
|         .  . o o|
|        .  . . ..|
|       . oo . o .|
|        oE++..o+ |
+-----------------+

在金鑰建立之後,您可以使用文字編輯器開啟公開金鑰的檔案,並且複製全部的內容。

接下來,請參考以下的說明,瞭解如何將公開金鑰存放到主機上來啟用 SSH 身份驗證。

Windows

在 Windows 的環境,您可以使用 PuTTY ,透過 PuTTY 內建工具 PuTTYGen產生 SSH 金鑰。

請參考此設定來產生您的金鑰:

Protocol (協議): SSH-2 Key type (演算法): RSA Key length (金鑰長度): 2048 bits

你可以參考 PuTTY 的 SSH 金鑰說明文件 來了解更多產生金鑰的說明。

新增公開金鑰到您的主機中

在您產生金鑰後,您可以在主機的管理介面中新增公開金鑰。

在 「SSH 金鑰」 的介面中,您就可以上傳公開金鑰到您的主機中。

按下 「SSH 金鑰」 的 「上傳」 按鈕,就會進入 「新增 SSH 金鑰」 的畫面。

接著,請選擇 建立一個新的金鑰」,並且貼上您的公開金鑰到 「公鑰」 欄位的位置。如果您的其他主機也需要同樣的金鑰,您可以點選 「新增至金鑰列表」 並且輸入 「金鑰名稱」。

完成上述步驟後,點選按鈕 「新增 SSH 金鑰」 來儲存金鑰。

幾分鐘後,您就可以在登入時使用 SSH 金鑰認證來取代您的密碼認證。請注意,SSH 金鑰認證只能用在 sFTP 與 git+SSH 的服務,無法用在緊急終端機。

管理您的公開金鑰

您可以透過 sFTP 連接主機,管理已儲存的金鑰,但無法透過網頁介面管理。

所有儲存在主機的公開金鑰都會存放在 .ssh/authorized_keys 這個檔案內。

您可以直接修改此檔案,以新增公開金鑰,或是刪除公開金鑰 (請重新上傳覆蓋主機的 .ssh/authorized_keys 檔)。

移除主機中的公開金鑰

  1. 使用 sFTP 登入您的主機。
  2. 登入後,前往根目錄中的 .ssh 目錄。
  3. 如果您要移除主機中的所有公鑰,請直接刪除 authorized_keys 檔。如果您要刪除某些公鑰,可以直接從檔案中刪除那幾行。