之前就知道用 ssh 登入的時候
可以利用 公開金鑰與私密金鑰 來達到免輸入密碼就可以登入主機
使用這方法有幾個好處
可以不用每次登入就輸入密碼
也可以降低密碼被竊取的可能性
只是在 windows 上使用 pietty 我還不知道怎用
所以就一直沒有使用這功能
常見金鑰編碼機制則有 RSA1、RSA2、以及 DSA 等三種
不過現在的系統都使用RSA2就是了
先產生一下金鑰
ssh-keygen -t rsa
前面記得不要加sudo
不然會做出 root 這使用者的金鑰
這邊是詢問你要將金鑰放在哪邊
基本上按下 Enter 默認就好了
Enter passphrase?
這是要保護金鑰的密碼
不過目前都直接按下 Enter 就好了
不然到最後還是要密碼
直接按下 Enter 就好了
之後就產生出兩把金鑰了
現在公鑰跟私鑰都有了之後
就把公鑰放到要連線的主機去
scp ~/.ssh/*.pub 主機位置:~/.ssh/
因為我是第一次連線到116這台主機
所以會有這提示
之後輸入116主機的密碼
出現這畫面代表你的公鑰就放到主機上面去了
這時候設定還沒有完成
還要先登入到該主機去
輸入該主機的密碼來登入主機
登入主機以後
將剛剛上傳的公鑰餵給 authorized_keys 這檔案
authorized_keys 這檔案是專門存放公開金鑰的檔案
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
之後就可以登出囉
這時候再試試看遠端116那台主機
有沒有覺得少了什麼步驟阿!!
沒錯
已經可以不用輸入密碼就登入主機囉!!
參考資料
http://www.josephj.com/article/understand-ssh-key/
http://plog.longwin.com.tw/post/1/293