首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SSH 密钥管理问题:SSH 密钥管理不当,导致安全风险

SSH 密钥管理问题:SSH 密钥管理不当,导致安全风险

原创
作者头像
是山河呀
发布2025-02-06 15:03:53
发布2025-02-06 15:03:53
2.8K0
举报
文章被收录于专栏:linux运维linux运维
1. 生成 SSH 密钥对

生成 SSH 密钥对时,确保使用强密码保护私钥。

  • 生成 RSA 密钥对: ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 按提示输入保存密钥的文件路径和密码。
  • 生成 Ed25519 密钥对: ssh-keygen -t ed25519 -C "your_email@example.com" 按提示输入保存密钥的文件路径和密码。
2. 保护私钥

确保私钥文件的权限设置正确,防止未授权访问。

  • 检查私钥文件权限: ls -l ~/.ssh/id_rsa 确保文件权限为 600: chmod 600 ~/.ssh/id_rsa
  • 使用 ssh-agent 管理私钥: 使用 ssh-agent 可以简化私钥的使用,避免每次连接时都需要输入密码。
    • 启动 ssh-agent: eval "$(ssh-agent -s)"
    • 添加私钥到 ssh-agent: ssh-add ~/.ssh/id_rsa
3. 配置公钥认证

将公钥添加到目标主机的 ~/.ssh/authorized_keys 文件中,启用公钥认证。

  • 复制公钥到目标主机: 使用 ssh-copy-id 命令将公钥复制到目标主机: ssh-copy-id user@target_host
  • 手动添加公钥: 将公钥内容复制到目标主机的 ~/.ssh/authorized_keys 文件中: cat ~/.ssh/id_rsa.pub | ssh user@target_host "cat >> ~/.ssh/authorized_keys"
4. 禁用密码认证

为了提高安全性,建议禁用密码认证,仅使用公钥认证。

  • 编辑 SSH 配置文件: 编辑 /etc/ssh/sshd_config 文件,禁用密码认证: PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
  • 重启 SSH 服务: 重启 SSH 服务以应用更改:
    • Debian/Ubuntu: sudo systemctl restart ssh
    • CentOS/RHEL: sudo systemctl restart sshd
5. 定期轮换 SSH 密钥

定期轮换 SSH 密钥可以减少长期使用同一密钥带来的安全风险。

  • 生成新的密钥对: 按照上述步骤生成新的 SSH 密钥对。
  • 更新目标主机上的公钥: 将新的公钥添加到目标主机的 ~/.ssh/authorized_keys 文件中,然后删除旧的公钥。 cat ~/.ssh/new_id_rsa.pub | ssh user@target_host "cat >> ~/.ssh/authorized_keys" ssh user@target_host "sed -i '/old_public_key/d' ~/.ssh/authorized_keys"
  • 更新本地私钥: 删除旧的私钥文件,使用新的私钥文件。 rm ~/.ssh/id_rsa mv ~/.ssh/new_id_rsa ~/.ssh/id_rsa

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 生成 SSH 密钥对
  • 2. 保护私钥
  • 3. 配置公钥认证
  • 4. 禁用密码认证
  • 5. 定期轮换 SSH 密钥
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档