修复 SSH 私钥"权限过于开放"报错(chmod 600)
用 chmod 600 把 SSH 私钥设为仅本人可读,让 ssh 正常使用密钥,也防止其他用户读取。
运行 chmod 600 ~/.ssh/id_ed25519(~/.ssh 目录设为 700),ssh 就会重新接受你的私钥。
01命令
命令
$ chmod 600 ~/.ssh/id_ed25519 && ls -l ~/.ssh/id_ed2551902作用说明
SSH 拒绝使用系统里其他用户也能读取的私钥,这是刻意设计——全局可读的私钥等于已经泄露。chmod 600 只给所有者读写权限;~/.ssh 目录本身应为 700,对应的 .pub 公钥文件保持 644 即可。如果你有多个密钥,~/.ssh 下每个私钥文件都要同样处理,之后也不要再放宽权限——出现"UNPROTECTED PRIVATE KEY FILE"警告就说明权限又太开放了。
03风险
!注意: 如果私钥曾被别人可读(如 0644、被网盘同步过、或在任何地方粘贴过),应视为已泄露,正确做法是重新生成密钥对,而不只是改权限。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- ssh(1) — Linux manual page (private key permissions)依据: ssh refuses to load identity files that are readable by others, requiring owner-only permissions on private keys.
- chmod(1) — Linux manual page依据: Documents numeric modes such as 600 (owner read/write only) for restricting file access.
最后验证: 2026-09-18 · 分类: 安全与隐私