ssh私钥文件必须设为600权限,否则openssh强制拒绝使用并报错“permissions are too open”;需设600的包括客户端私钥(如~/.ssh/id_rsa)、服务端authorized_keys文件及自定义私钥路径,同时~/.ssh目录须设700,公钥文件则应设644。

SSH私钥文件必须设为600权限,否则OpenSSH会直接拒绝使用,报错“Permissions are too open”。这不是可选项,而是强制安全校验。
哪些文件要设600
所有私钥文件都需要设置为600:
- ~/.ssh/id_rsa(默认RSA私钥)
- ~/.ssh/id_ed25519、~/.ssh/id_ecdsa
- 自定义路径的私钥,比如 ~/keys/deploy_key
- ~/.ssh/authorized_keys(服务器端公钥列表文件)
怎么用chmod设600
在终端里执行对应命令即可,一行一个:
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
chmod 600 ~/.ssh/id_rsachmod 600 ~/.ssh/id_ed25519chmod 600 ~/.ssh/authorized_keys- 如果私钥放在别处,例如
~/mykey,就运行chmod 600 ~/mykey
.ssh目录权限也要配对设700
仅改私钥还不够,~/.ssh目录本身也必须严格限制:
- 运行
chmod 700 ~/.ssh - 检查结果:执行
ls -ld ~/.ssh,输出应为drwx------ - 若目录权限是755或775,新版OpenSSH可能直接跳过读取密钥,哪怕私钥权限正确
公钥和家目录权限别搞混
公钥文件(如 id_rsa.pub)不需要600,设成644即可:
chmod 644 ~/.ssh/id_rsa.pub- 用户主目录(如
/home/username)建议保持755,不能是777——OpenSSH会因权限过宽而拒绝加载密钥










