Linux如何產生SSH金鑰?


Linux上最常使用的遠端連線協定為SSH(Secure Shell),SSH除了可以登入到遠端電腦使用命令列介面之外,還有其他方便的應用。例如Git版本控制軟體的push和pull指令,也都是透過SSH來進行資料傳輸。因此如果有SSH的連線需求的話,可以參考這篇文章,產生專屬於自己的SSH金鑰,讓SSH登入不必輸入帳號密碼,使用起來更方便!

什麼是SSH金鑰

SSH金鑰是一個SSH權限的驗證方式,讓SSH伺服器端能夠使用信任的客戶端自行產生獨特的金鑰號碼,來登入SSH伺服器,這樣一來SSH伺服器端就不需要提供給客戶端任何的帳號密碼了。

如何產生SSH金鑰

Linux系統下,每個使用者都可以擁有自己的SSH金鑰,金鑰將會以檔案的形式存放在家目錄中的「.ssh」目錄下,常使用RSA加密演算法來生成金鑰,檔名預設為「id_rsa」。在產生自己的RSA SSH金鑰前,可以先到這個目錄下查看是否已經有此檔案存在,再決定是否要產生。

產生SSH金鑰可以直接在終端機下輸入以下指令:

ssh-keygen

Linux如何產生SSH金鑰?

產生金鑰時,終端機上會顯示下列問題。如果直接按Enter跳過,就是使用預設值。

  • Enter file in which to save the key:輸入金鑰儲存的檔名,預設應該會在家目錄中的「.ssh」目錄下,檔名是「id_rsa」。
  • Enter passphrase:金鑰的密碼,預設是沒有密碼的,有必要的話再設定。
  • Enter same passphrase again:再重複一次Enter passphrase的設定,確保設定無誤。

設定完成後應該會出現以下畫面:

Linux如何產生SSH金鑰?

在某些應用上,可能會要求使用者在SSH金鑰上添加一些訊息至註解(Comment)中,像是電子郵件地址之類的,用來識別金鑰的持有者。如果有需要,可以在一開始下達「ssh-keygen」指令前,再加上「-C」(大寫的英文C)參數來指定註解內容。

ssh-keygen -C "your_email@example.com"

Linux如何產生SSH金鑰?

ssh-keygen執行後,會在目標檔案(SSH私鑰檔案)的同目錄下,多產生一個「.pub」檔,裡面的內容就是SSH的公鑰,為純文字格式。將公鑰給SSH伺服器儲存後,就可以直接透過SSH私鑰來與擁有公鑰的伺服器進行SSH連線,而不需輸入伺服器的帳號密碼。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章