以下就是在 Ubuntu 透過 SSH 加憑證的方式來建立連線的設定步驟。
1.建立憑證
請在自己的電腦上執行下列指令來建立憑證。
ssh-keygen
- 這個指令預設會把產出的憑證檔放在目前使用者的家目錄的 .ssh 資料夾裡,並且會自動命名為 id_ras。
- 執行過程會詢問是否建立passphrase,可以不輸入,若有輸入 passphrase 的話,那麼在登入後,就需要輸入這一組 passphrase。
執行下列指令把產生出來的憑證檔上傳到要用 SSH 登入的主機。
scp ~/.ssh/id_rsa.pub ayubiz@arthurtoday.com.tw:~/.ssh/uploaded_key.pub
ayubiz 是遠端主機的使用者
arthurtoday.com 是遠端主機的位址
3.複製和變更上傳檔案
執行下列指令把上傳上去的檔案複製到 ayubiz 這個使用者的家目錄的 .ssh 資料夾下,並將檔名變更為 authorized_keys。
ssh ayubiz@arthurtoday.com "echo `cat ~/.ssh/id_rsa.pub` >> ~/.ssh/authorized_keys"
4.調整 authorized_keys 檔權限
需要調整 authorized_keys 檔案的權限,不然會出現 Permission denied (publickey) 的錯誤訊息,可以選下列任一執行執行,阿舍建議用第二種就可以了。
chmod 400 /home/xyz/.ssh/authorized_keys
只有 root 可以修改此檔
chmod 600 /home/xyz/.ssh/authorized_keys
使用者自己可以修改此檔
5.停用 SSH 的密碼認證
已經設定好用憑證來登入 SSH 之後,接下來就是要把 SSH 的密碼認證方式給停用掉,這樣,就只有設定憑證的腦才可以連線,就可以減少被不良人士試出密碼的機會,請用下面的指令來開啟 SSH 的設定檔,然後,把 「PasswordAuthentication」 這項目從 yes 改為 no,接著存檔和重開。
vi /etc/ssh/sshd_config
5.開始 SSH 連線
ssh xyz@xxx.com.tw
如果有設定 passphrase,這時就會出現要輸入的畫面,不然,就會直接登入了。

0 意見:
張貼意見