Contents

如何在 Linux 上產生 SSH 金鑰

要點

SSH 金鑰提供了一種強大的方法,透過利用兩個互連的元件(公鑰及其對應的私有金鑰)無需密碼即可存取遠端伺服器。

在 Linux 作業系統上使用 ssh-keygen 命令建立 SSH 金鑰對,並考慮合併密碼以增強保護。

將 SSH 公鑰傳輸到遠端伺服器可以透過兩種方法實現,即使用 ssh-copy-id 命令或手動將金鑰插入伺服器上指定的「authorized\_keys」檔案中。

SSH 金鑰可作為存取遠端伺服器的安全驗證方式,無需繁瑣的密碼並增強對敏感資訊的保護。產生 SSH 金鑰的過程非常簡單,可以在基於 Linux 的系統上輕鬆完成。

什麼是 SSH 金鑰?

公鑰和相應的私鑰。前者可以出於身份驗證目的與指定接收者共享,而後者必須保密並儲存在自己的設備中。

請不要向任何個人透露您的個人 Secure Shell (SSH) 金鑰,因為這可能會危及您帳戶的安全性以及儲存在遠端伺服器上的敏感資訊。

登入後,遠端主機將使用 Secure Shell (SSH) 協定來確定您的公鑰和私鑰之間是否存在對應關係。如果發現這些元素一致,則表示您已被授予存取遠端網路的授權。利用這種金鑰對安排可以輕鬆建立使用者帳戶,同時保留儲存在所述網路上的資訊的機密性和完整性。

如何產生遠端金鑰

若要在 Linux 環境中建立 SSH 金鑰對,請透過輸入「ssh-keygen」指令來使用終端機。系統會要求您指定儲存目錄,並且可以選擇使用密碼來增強保護。如果選擇此短語,則會增強與您的金鑰相關的安全措施。

請記住您的密碼,否則將導致無法使用該特定密碼存取您的帳戶。

如果您選擇放棄輸入密碼,只需在登入過程中省略密碼即可。

/bc/images/linux-ssh-key.png

預設情況下,ssh-keygen 使用 Ed25519 演算法。這對於大多數情況來說已經足夠了,因為它非常安全。您可以使用-t 標誌指定所需的演算法類型。通常您不需要這樣做,除非伺服器不支援您使用的任何演算法。您可以閱讀ssh-keygen 手冊頁 以了解如何產生不同的金鑰對。

取得遠端電腦的新 SSH 金鑰

為了將產生的公鑰和私鑰傳輸到遠端伺服器,有兩種方法可用。

一種簡單的方法涉及使用“ssh-copy-id”命令。這可以透過使用遠端伺服器帳戶的使用者名稱和主機名稱呼叫命令來完成:

 ssh-copy-id [email protected]

請輸入您的密碼,因為它將用於安全地傳輸您的私鑰。

/bc/images/ssh-copy-id.png

您現在可以存取並登入遠端伺服器。

 ssh [email protected] 

如果需要,您需要手動輸入公鑰,方法是從主目錄中「.ssh」資料夾中的對應檔案複製並貼上公鑰。該檔案通常以副檔名“.pub”結尾,並包含用於身份驗證目的的授權金鑰。要繼續,只需存取位於遠端裝置上的「.ssh/authorized\_keys」文件,並精確重現上述文件的內容。

/bc/images/ssh-authorized-keys.png

若要透過 SSH 成功存取伺服器,必須儲存提供的檔案。確保上述文件具有您帳戶專用的受限讀寫權限,因為授予未經授權方存取權限可能會導致系統故障。