SSH 密钥登录比密码更安全、可防暴力破解。本文以 Linux/macOS 终端为例配置免密登录。
第一步:生成密钥对
ssh-keygen -t ed25519 -C "my-key"
回车使用默认路径,公钥位于 ~/.ssh/id_ed25519.pub。
第二步:上传公钥
ssh-copy-id -p 22 root@192.0.2.10
输入一次密码后公钥自动写入 ~/.ssh/authorized_keys;无此命令可手动追加。
第三步:验证并关闭密码登录
- 新开窗口执行
ssh root@192.0.2.10,确认无需密码即可登录。 - 编辑服务器
/etc/ssh/sshd_config,设置PasswordAuthentication no。 - 执行
systemctl restart sshd生效。
警告:关闭密码登录前,务必在不退出当前会话的情况下用新窗口验证密钥可登录,否则可能无法进入服务器。Windows 用户可用 PuTTYgen 生成密钥,在 PuTTY 的「SSH → Auth」中指定私钥。