SSH連線金鑰

ssh-keygen -t ed25519 -C "deltawen@client" 
ssh-copy-id root@192.168.99.3

📌 好的,這兩行指令是設定 SSH 無密碼登入的常見流程,我來幫你拆解一下:


🛠 指令一:ssh-keygen -t ed25519 -C “deltawen@client”

這行是在 本機產生 SSH 金鑰,詳細意思如下:

  • ssh-keygen:這是產生金鑰的指令。
  • -t ed25519:指定金鑰類型為 ed25519,這是一種現代、快速且安全的加密方式(比 RSA 更短更安全,推薦使用)。
  • -C "deltawen@client":加上註解,通常用來識別該金鑰用途或屬於誰。在 .ssh/id_ed25519.pub 的最後會看到這段。

⏱ 執行後會提示你要不要指定金鑰存放位置與密碼,如果一路按 Enter,金鑰會預設儲存在:

~/.ssh/id_ed25519           # 私鑰
~/.ssh/id_ed25519.pub       # 公鑰

🚀 指令二:ssh-copy-id root@192.168.99.3

這行是 將剛剛產生的公鑰複製到遠端主機(在這裡是 192.168.99.3)的 root 帳號上。流程如下:

  • 它會將本機的 ~/.ssh/id_ed25519.pub 公鑰內容,追加到目標主機的:

    /root/.ssh/authorized_keys
    
  • 未來連線時,只要你使用本機的私鑰,就可以自動通過身份驗證,不需要每次輸入密碼。

🧩 執行這行時會要求輸入一次遠端 root 的密碼,之後就可以免密碼登入了!


直接在openwrt192.168.99.3上操作

先把公鑰~/.ssh/id_ed25519.pub 搞到openwrt:/tmp/client.pub

mkdir -p ~/.ssh
cat /tmp/client.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys