每次在連線遠端主機時,都會跳出輸入帳號密碼的驗證。
剛開始都乖乖地輸入,後來感覺實在有點麻煩…開始尋找是否有省去這項驗證的方法。
可以使用本機金鑰搭配遠端主機的 Authorized_keys 進行驗證,省去每次都要輸入帳號密碼的麻煩。
1、產生金鑰
使用指令產生本機金鑰。
# ssh-keygen
2、單一主機設定
使用指令複製本機公鑰至遠端主機。
# scp ~/.ssh/id_rsa.pub [遠端主機名稱]:~/.ssh/authorized_keys
3、多重主機設定
多台主機對單一主機連線時,使用 Authorized_keys 驗證該如何設定?
先設定好其中一台主機的驗證設定,將遠端主機的 Authorized_keys 複製回第二台主機,將第二台主機公鑰附加在 Authorized_keys 後面,再將 Authorized_keys 複製至遠端主機即可。
3.1 複製遠端主機 Authorized_keys
使用指令將遠端主機 Authorized_keys 複製回本機 Authorized_keys。
# scp [遠端主機名稱]:.ssh/authorized_keys ~/.ssh
3.2 附加本機公鑰至本機 Authorized_keys
使用指令將本機公鑰附加至本機 Authorized_keys。
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.3 複製 Authorized_keys 至遠端主機
使用指令複製 Authorized_keys 至遠端主機。
# scp ~/.ssh/authorized_keys [遠端主機名稱]:~/.ssh/authorized_keys
3.4 移除本機 Authorized_keys
因為本機規劃要輸入帳號密碼才能連線,所以此處不保留 Authorized_keys。
使用指令移除本機 Authorized_keys。
# rm ~/.ssh/authorized_keys
4、遠端主機 Authorized_keys
查看遠端主機上的 Authorized_keys 內容,兩組金鑰分別對應 CentOS01.LAB 與 CentOS02.LAB 的公鑰。
Authorized_keys 相當於遠端主機的信任清單。
嘗試將自己的理解寫成文字紀錄,資料來源均來自於網路。
如有理解錯誤、引用錯誤或侵權,請多加指正與告知,讓我有更多的進步與改進的空間,謝謝!