SSH服务器授权密钥究竟怎么用?SSH服务器授权密钥使用指南
每次登录服务器都要输密码烦不烦?明明是自己管理的机器却总像在破解保险箱?今天咱们就唠唠那个让运维人又爱又恨的玩意儿——SSH服务器授权密钥。就像新手想快速涨粉需要技巧一样,管理服务器也有高效方法,而密钥登录就是你的黄金通行证!
一、说人话:授权密钥其实是把"智能锁"
想象一下:你的服务器是金库,授权密钥就是特制的锁芯。只有匹配的钥匙(私钥)才能打开,其他撬锁工具(暴力破解)统统失效!
- 核心原理:
- 公钥=锁芯:安装在服务器
~/.ssh/authorized_keys
文件里 - 私钥=钥匙:永远藏在你自己电脑的
~/.ssh/id_rsa
文件里
- 公钥=锁芯:安装在服务器
- 工作流程:
- 你发起连接请求("我要开门!")
- 服务器扔出一串加密随机码("对上暗号才开门")
- 你电脑用私钥解码发回("暗号正确!")
- 服务器比对成功放行
真实翻车现场:同事把私钥误发微信群,黑客三分钟攻破服务器塞满挖矿脚本——私钥比银行卡密码还重要!
二、手把手教你装这把"锁"
✅ 第一步:造钥匙(生成密钥对)

在你自己电脑打开终端,输入:
复制ssh-keygen -t rsa -b 4096 -C "my_server_key"
操作提示逐句解:
Enter file to save key
→ 直接回车(默认存~/.ssh/id_rsa
)Enter passphrase
→ 强烈建议设密码!(二次保护私钥)- 生成两个文件:
id_rsa
(私钥,权限必须600)id_rsa.pub
(公钥,可公开)
✅ 第二步:给服务器装锁芯(上传公钥)
懒人方案:用ssh-copy-id
一键安装
复制ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip
手动方案:复制公钥内容贴到服务器~/.ssh/authorized_keys
→ 关键权限设置:
复制chmod 700 ~/.ssh # 文件夹权限chmod 600 ~/.ssh/authorized_keys # 文件权限
权限错了服务器不认!这是新手最常踩的坑
✅ 第三步:拔掉密码插头(可选但推荐)
编辑服务器文件/etc/ssh/sshd_config
:
复制PubkeyAuthentication yes # 启用密钥登录PasswordAuthentication no # 关闭密码登录(防暴力破解)
重启服务生效:sudo systemctl restart sshd
三、密钥 vs 密码:到底强在哪?
对比项 | 密码登录 | 密钥登录 |
---|---|---|
防暴力破解 | 弱(每秒可试百万次) | 极强(数学上不可行) |
便捷性 | 每次手动输入 | 免密一键登录 |
防窃听 | 可能被截获 | 全程加密不传密钥 |
运维成本 | 定期改密码烦 *** 人 | 一次配置终身受益 |
漏洞案例 | 某企业被撞库损失500万 | 十年零入侵记录 |
致命优势:
- 自动化脚本必备(比如定时备份)
- 跳板机登录更安全(多重密钥接力)
四、避雷指南:三大作 *** 操作别碰!
💥 雷区1:私钥当传单发
- 作 *** 行为:把
id_rsa
文件丢网盘/微信群 - 正确姿势:
- 私钥绝不离开自己电脑
- 必须用passphrase加密(即使泄露也难破解)
💥 雷区2:服务器乱改权限
- 翻车现场:
复制
.ssh目录权限777 → 密钥失效!authorized_keys权限644 → 拒绝登录!
- 黄金法则:
.ssh
目录700authorized_keys
文件600- 所有者必须是登录用户
💥 雷区3:一套密钥走天下
- 危险操作:所有服务器用同一对密钥
- 专业方案:
- 按服务器生成独立密钥(比如
id_rsa_web1
) - 客户端配置
~/.ssh/config
指定对应关系:复制
Host web1HostName 192.168.1.1User adminIdentityFile ~/.ssh/id_rsa_web1
- 按服务器生成独立密钥(比如
小编观点开炮
运维过上千台服务器,密钥登录像安全带——平时觉得勒得慌,出事时能救命! 但三类人我劝你慎用:
- 健忘星人:设了passphrase却总忘记 → 锁 *** 自己比黑客还快
- 共享狂魔:团队共用密钥不交接 → 人离职了服务器也废了
- 古董系统:OpenSSH版本低于5.3 → 部分新算法不支持
最扎心的是某些云平台的密钥绑架:只能用他们控制台生成的密钥,自己上传的无效...所以买服务器前先问:"支持自定义authorized_keys吗?"
(暴论预警:别信"默认密钥更安全"! 见过厂商后门私钥,监控客户数据——自己生成的才真正属于你!)
来源依据:
: SSH密钥认证原理
: 公钥私钥功能区分
: authorized_keys文件配置
: 密钥权限设置规范
: 私钥安全防护措施
: 配置文件修改实操