首页 > 运维 > linux运维 > 正文

如何在Linux中管理SSH密钥 Linux authorized_keys配置

P粉602998670
发布: 2025-08-20 08:26:02
原创
905人浏览过
正确配置SSH密钥和authorized_keys可实现免密登录并提升安全性。首先使用ssh-keygen生成RSA或Ed25519密钥对,私钥本地安全保存并设置强密码,公钥通过ssh-copy-id或手动方式添加至服务器~/.ssh/authorized_keys文件。确保该文件权限为600,.ssh目录为700,属主正确。可在authorized_keys中添加from、command、no-pty等选项限制密钥使用范围,增强安全性。定期清理无效密钥,记录用途,避免共用账户。结合sshd_config禁用密码登录、启用公钥认证、限制用户访问,重启SSH服务生效。合理管理密钥与权限设置是保障安全的关键。

如何在linux中管理ssh密钥 linux authorized_keys配置

在Linux系统中,SSH密钥认证是一种比密码登录更安全、更便捷的身份验证方式。通过正确配置

authorized_keys
登录后复制
文件,可以实现免密登录并提升服务器安全性。以下是关于如何管理SSH密钥以及配置
authorized_keys
登录后复制
的实用指南。

生成和管理SSH密钥对

用户需要在本地生成SSH密钥对,包含私钥和公钥。私钥保存在本地,公钥则添加到服务器的

authorized_keys
登录后复制
文件中。

使用

ssh-keygen
登录后复制
命令生成密钥:

  • ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    登录后复制
    生成RSA 4096位密钥
  • 或使用更现代的Ed25519算法:
    ssh-keygen -t ed25519 -C "your_email@example.com"
    登录后复制
  • 密钥默认保存在
    ~/.ssh/id_rsa
    登录后复制
    (私钥)和
    ~/.ssh/id_rsa.pub
    登录后复制
    (公钥)

建议为密钥设置强密码(passphrase),以增加安全性。可以使用

ssh-agent
登录后复制
缓存解密后的私钥,避免重复输入密码。

配置 authorized_keys 文件

authorized_keys
登录后复制
文件位于用户家目录的
~/.ssh/authorized_keys
登录后复制
,每行存放一个被信任的公钥。

将本地公钥内容复制到该文件中:

  • 手动复制:
    cat ~/.ssh/id_rsa.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    登录后复制
  • 使用工具
    ssh-copy-id user@server
    登录后复制
    可自动完成上传

确保文件权限正确,否则SSH会拒绝读取:

  • chmod 700 ~/.ssh
    登录后复制
  • chmod 600 ~/.ssh/authorized_keys
    登录后复制
  • 确认文件所属用户正确:
    chown $USER:$USER ~/.ssh -R
    登录后复制

错误的权限是导致密钥登录失败的常见原因。

增强 authorized_keys 的高级配置

可以在

authorized_keys
登录后复制
中为每条公钥添加选项,限制其使用方式,提高安全性。

冬瓜配音
冬瓜配音

AI在线配音生成器

冬瓜配音 66
查看详情 冬瓜配音

格式为:

选项 公钥类型 公钥内容
登录后复制

  • from="192.168.1.100"
    登录后复制
    :仅允许来自指定IP的连接
  • command="backup_script.sh"
    登录后复制
    :强制执行特定命令,常用于自动化脚本
  • no-pty
    登录后复制
    :禁止分配TTY,防止交互式shell
  • no-port-forwarding,no-X11-forwarding,no-agent-forwarding
    登录后复制
    :禁用转发功能

例如:

command="~/scripts/backup.sh",no-pty,no-port-forwarding ssh-rsa AAAAB3NzaC... user@local

这种配置适合部署自动化任务,避免密钥被滥用。

维护和安全管理建议

定期审查

authorized_keys
登录后复制
中的公钥,删除不再使用的条目。

  • 记录每个公钥的用途和添加时间(可在公钥末尾加注释)
  • 避免多个用户共用同一个系统账户,应为每个用户创建独立账户
  • 考虑使用SSH证书或集中密钥管理方案(如Hashicorp Vault)用于大规模环境
  • 禁用密码登录后,确保至少保留一个可用密钥,防止被锁定

可通过

sshd_config
登录后复制
进一步加固SSH服务:

  • PubkeyAuthentication yes
    登录后复制
    (确保启用)
  • PasswordAuthentication no
    登录后复制
    (禁用密码登录)
  • AllowUsers user1 user2
    登录后复制
    (限制可登录用户)

修改后重启SSH服务:

sudo systemctl restart sshd
登录后复制

基本上就这些。合理管理SSH密钥和正确配置

authorized_keys
登录后复制
,能显著提升系统安全性和运维效率。不复杂但容易忽略权限和备份。

以上就是如何在Linux中管理SSH密钥 Linux authorized_keys配置的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号