SSH 密钥权限 600 设置如何做

作者:袖梨 2026-08-13

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:

  1. ~/.ssh/id_rsa(默认RSA私钥)
  2. ~/.ssh/id_ed25519~/.ssh/id_ecdsa
  3. 自定义路径的私钥,比如 ~/keys/deploy_key
  4. ~/.ssh/authorized_keys(服务器端公钥列表文件)

怎么用chmod设600

在终端里执行对应命令即可,一行一个:

  1. chmod 600 ~/.ssh/id_rsa
  2. chmod 600 ~/.ssh/id_ed25519
  3. chmod 600 ~/.ssh/authorized_keys
  4. 如果私钥放在别处,例如 ~/mykey,就运行 chmod 600 ~/mykey

.ssh目录权限也要配对设700

仅改私钥还不够,~/.ssh目录本身也必须严格限制:

  1. 运行 chmod 700 ~/.ssh
  2. 检查结果:执行 ls -ld ~/.ssh,输出应为 drwx------
  3. 若目录权限是755或775,新版OpenSSH可能直接跳过读取密钥,哪怕私钥权限正确

公钥和家目录权限别搞混

公钥文件(如 id_rsa.pub)不需要600,设成644即可:

  1. chmod 644 ~/.ssh/id_rsa.pub
  2. 用户主目录(如 /home/username)建议保持755,不能是777——OpenSSH会因权限过宽而拒绝加载密钥

相关文章

精彩推荐