SSH 金鑰身份驗證¶
您可以在主機中增加一個或數個 SSH 金鑰登入 sFTP 和 Git 而不用輸入密碼。
備註
SSH 金鑰認證無法用在緊急終端機。當您使用終端機時,必須輸入密碼。
下方會說明如何建立金鑰並且把金鑰增加到 Simple Hosting 主機中。
產生 SSH 金鑰¶
您可以使用 ssh-keygen
命令來產生一對金鑰。此命令會建立兩個檔案,放在 ~/.ssh/ 的目錄底下 (「~」 是家目錄的意思),預設的檔案名稱是 id_rsa
與 id_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 檔)。
移除主機中的公開金鑰¶
使用 sFTP 登入您的主機。
登入後,前往根目錄中的
.ssh
目錄。如果您要移除主機中的所有公鑰,請直接刪除
authorized_keys
檔。如果您要刪除某些公鑰,可以直接從檔案中刪除那幾行。