ssh-keygen -t ed25519 -C "deltawen@client"
ssh-copy-id root@192.168.99.3
📌 好的,這兩行指令是設定 SSH 無密碼登入的常見流程,我來幫你拆解一下:
這行是在 本機產生 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
的密碼,之後就可以免密碼登入了!
先把公鑰~/.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