SSH 免密登入(Key-based Authentication)利用非對稱加密:
id_rsa),嚴禁外洩。id_rsa.pub) 至 ~/.ssh/authorized_keys。ls -l ~/.ssh/id_rsa.pub
若已存在,建議備份後再決定是否重新生成(重新生成會導致舊授權失效)。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-t rsa:RSA 演算法(亦可用 ed25519 更短更強)。-b 4096:鑰長 4096 bits,安全性更高。-C:註解,便於辨識。~/.ssh/id_rsa) 與空密碼(或自行設定 passphrase)。ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.0.3
系統會提示輸入遠端密碼(最後一次),隨後將公鑰寫入遠端 ~/.ssh/authorized_keys。
ssh user@192.168.0.3
應直接進入 Shell,無需輸入密碼。
上述僅實現 A → B 免密。若需 B → A 亦免密,請在 B 機器上重複步驟 1~3,將 B 的公鑰複製到 A。
/etc/ssh/sshd_config,設 PasswordAuthentication no,重啟 sshd。PermitRootLogin prohibit-password(僅允許金鑰)。ssh-agent 管理 passphrase 加密的私鑰,避免重複輸入。Permission denied (publickey):檢查 ~/.ssh 權限 (chmod 700 ~/.ssh)、authorized_keys 權限 (chmod 600) 及擁有者。restorecon -Rv ~/.ssh。