[筆記] 透過公開金鑰登入 SSH 伺服器而非使用密碼

以下適用於 Termux 的 OpenSSH。

△使用者端:


 ▲使用 ssh-keygen 指令生成金鑰:
   ssh-keygen -t “加密方式” -b “金鑰位元長度” -f “私鑰輸出路徑”
  例如 :
   ssh-keygen -t rsa -b 2048 -f id_rsa

  此時將生成檔名為 id_rsa 的私人金鑰與檔名為 id_rsa.pub 的公開金鑰。

  ◎若想在 FileZilla 透過私人金鑰進行登入,您可先在 OpenSSH 生成金鑰,然後透過 PuTTY 將私人金鑰轉換為 FileZilla 支援的 .ppk 格式私人金鑰。


 ▲在伺服器註冊公開金鑰(伺服器至少留有一種登入方式):
   ssh-copy-id -i “私鑰檔案路徑” -p “伺服器連接埠” “伺服器 IP”
  例如:
   ssh-copy-id -i id_rsa -p 8022 192.168.1.101

  ◎驗證用的公開金鑰將被匯入到伺服器端的 ~/.ssh/authorized_keys 內。



△伺服器端:


 ▲關閉密碼驗證以防止密碼暴力破解:
   編輯 /etc/ssh/sshd_config:
    vi $PREFIX/etc/ssh/sshd_config
   修改 PasswordAuthentication 後方的值為 no:
    PasswordAuthentication no

參考:
https://wiki.termux.com/wiki/Remote_Access
https://wiki.archlinux.org/index.php/Secure_Shell_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

這個網誌中的熱門文章

[雜物] 自製的 Magisk 字型模組與一堆無趣的小玩意兒

[筆記][Void glitch] 捕捉謎之場所阿爾宙斯的最低必要條件

[蒐集] 刷機資源蒐集與記錄