为什么使用密钥登录

  • 比密码更安全
  • 防止暴力破解
  • 可以禁用密码登录
  • 支持自动化脚本

密钥对原理

SSH密钥对包含公钥和私钥:

  • 公钥 - 放在服务器上
  • 私钥 - 保存在本地,用于验证身份

生成密钥对

Linux/Mac:

ssh-keygen -t rsa -b 4096

Windows(PuTTYgen):

  1. 打开PuTTYgen
  2. 点击Generate生成
  3. 移动鼠标产生随机数
  4. 保存公钥和私钥

配置步骤

  1. 生成密钥对
  2. 将公钥添加到服务器的~/.ssh/authorized_keys
  3. 设置正确的文件权限
  4. 测试密钥登录
  5. 禁用密码登录(可选)

文件权限要求

  • ~/.ssh目录:700
  • authorized_keys文件:600
  • 私钥文件:600

禁用密码登录

编辑/etc/ssh/sshd_config:

  • PasswordAuthentication no
  • 重启sshd服务

注意事项

  • 妥善保管私钥,不要泄露
  • 私钥可以设置密码保护
  • 备份私钥,防止丢失
  • 禁用密码前确保密钥登录正常