SSH 密钥对分发与权限管理怎么写

胖丽小哥_4623

胖丽小哥_4623

2026-08-12

835人浏览

原创

SSH密钥分发与权限管理是安全关键环节:必须用ssh-copy-id、scp或自动化脚本安全分发公钥,并严格设置.ssh目录700、私钥600、公钥644、authorized_keys 600权限,否则OpenSSH将硬性拒绝认证。

ssh 密钥对分发与权限管理怎么写

SSH密钥对分发与权限管理不是“生成完就结束”的操作,而是安全链条中承上启下的关键环节。私钥一旦泄露或文件权限宽松,整个认证机制就会形同虚设——OpenSSH会主动拒绝使用不合规的密钥,这不是警告,是硬性拦截。

密钥分发:安全传递公钥,杜绝明文暴露

公钥虽可公开,但传输过程仍需防篡改、防中间人。推荐以下三种方式,按场景选择:

  • ssh-copy-id(最简捷):适用于首次部署且目标服务器已启用密码登录。它自动完成目录创建、权限设置和公钥追加:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host
  • SCP + 手动追加(可控性强):先用scp传公钥到远程临时位置,再登录执行追加操作,避免覆盖已有授权:scp ~/.ssh/id_ed25519.pub user@host:/tmp/ → 登录后执行 cat /tmp/id_ed25519.pub >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
  • 自动化脚本批量分发(适合集群):结合Ansible或自定义bash脚本,统一处理多台主机的.ssh目录初始化、权限校验与公钥写入,避免人工遗漏

权限管理:OpenSSH强制执行的硬性规则

OpenSSH对关键路径有严格权限要求,任何一项不满足都会导致连接失败(报错如“UNPROTECTED PRIVATE KEY FILE!”)。必须逐级落实:

  • ~/.ssh 目录:仅属主可读写执行 → chmod 700 ~/.ssh
  • 私钥文件(如 id_ed25519):仅属主可读写 → chmod 600 ~/.ssh/id_ed25519
  • 公钥文件(如 id_ed25519.pub):属主可读写,组和其他人可读 → chmod 644 ~/.ssh/id_ed25519.pub
  • authorized_keys:仅属主可读写 → chmod 600 ~/.ssh/authorized_keys

注意:这些权限必须在客户端(私钥侧)和服务器端(authorized_keys侧)分别设置,缺一不可。

宝塔Linux面板11.3.0
宝塔Linux面板11.3.0

宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。

下载

密钥生命周期管理:不止于分发和权限

长期有效的密钥是风险温床。建议纳入日常运维节奏:

  • 为每类用途(如CI部署、个人运维、测试环境)生成独立密钥对,并用-C参数标注用途,例如:ssh-keygen -t ed25519 -C "ci-deploy-prod"
  • 定期轮换:生产环境密钥建议每6–12个月更新一次;若私钥所在设备丢失或重装系统,立即吊销对应公钥
  • 禁用密码登录(可选但推荐):在服务器/etc/ssh/sshd_config中设置PasswordAuthentication no并重载sshd服务,彻底关闭暴力破解入口

常见陷阱与验证要点

很多问题并非出在生成阶段,而是分发后疏忽所致:

  • 误将私钥上传至Git仓库或云盘——务必把id_*加入.gitignore,并检查历史提交
  • 用root用户生成密钥却以普通用户登录——确保~/.ssh路径指向当前登录用户的家目录
  • 未验证公钥是否真正生效——连接时加-v参数查看详细日志:ssh -v user@host,重点关注Offering public key和Authentication succeeded字段

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4310

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3633

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2893

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7130

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6762

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3873

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3365

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3599

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程