SSH 驗證機制

目前以最簡單的形式所執行的實際驗證,是由上方所提及的輸入密碼所組成。SSH 的目標就是要引進安全且易於使用的軟體。因為它是用以取代 rsh 與 rlogin,SSH 也必須能夠提供適於平日使用的驗證方法。SSH 是藉由使用者所產生的另一個金鑰組合來完成此動作。SSH 套件為此提供了說明程式:ssh-keygen。在輸入 ssh-keygen-t rsassh-keygen-t dsa 之後,就會產生金鑰組合,而且會提示您輸入儲存金鑰的基本檔案名稱。

確認預設值並回覆通關密語的要求。即使軟體建議空白的通關密語,一般建議輸入 10 至 30 個字元的文字以描述在此的程序。請勿使用簡短的文字或片語。重複通關密語以確認。接著,您將會看到儲存私密與公用金鑰的位置,在此例中,為 id_rsaid_rsa.pub 檔案。

使用 ssh-keygen-p -t rsassh-keygen-p -t dsa 以變更舊的通關密語。複製公用金鑰元件 (在範例中為 id_rsa.pub) 至遠端機器,並將它儲存至 ~/.ssh/authorized_keys。下次建立連接時,將會要求您驗證自己的通關密語。如果沒有要求您驗證,請驗證這些檔案的位置與內容。

就長期而言,此程序比每次給密碼更為麻煩。因此,SSH 套件提供另一個工具:ssh-agent。此工具可保留了 X 工作階段期間的私密金鑰。整個 X 工作階段是啟動成 ssh-agent 的子處理序。執行這個的最簡單的方法就是在 .xsession 檔案的開頭將 usessh 變數設為 yes,並透過顯示管理員 (例如 KDM 或 XDM) 登入。或者,輸入 ssh-agentstartx

現在您可以照常使用 ssh 或 scp。如果您已依照上方所述配送公用金鑰,就不會再提示您輸入密碼。請利用 xlock 之類的密碼保護應用程式,來終止或鎖定 X 工作階段。

在推出 SSH 通訊協定版本 2 後所造成的相關變更,也記載在 /usr/share/doc/packages/openssh/README.SuSE 檔案中。