id_rsa.pub 的权限为 644 (-rw-r--r--) 但父文件夹 .ssh 的权限为 700 (drwx------)

id_rsa.pub 的权限为 644 (-rw-r--r--) 但父文件夹 .ssh 的权限为 700 (drwx------)

我有一个用例,我的程序需要读取文件id_rsa.pub夹下的文件/root/.ssh

id_rsa.pub 的默认权限为 ( -rw-r--r--),.ssh 文件夹的默认权限为 ( drwx------)

这符合官方 SSH 手册页

问题:

任何组或用户都无法读取该id_rsa.pub文件,因为父文件夹(.ssh)没有组或用户的执行权限。

  1. 这样的权限组合有什么意义?id_rsa.pub没有适当的文件夹权限,任何用户或组都无法读取该文件.ssh
  2. 将文件夹的权限从 700 更改为 710 会有什么问题吗.ssh?(以使我的程序能够读取id_rsa.pub文件)。这也符合上面的手册页建议。

答案1

这些权限在 OpenSSH 中是硬编码的。请记住,您可以ssh-keygen从任何地方运行,将密钥保存到任何可写位置。通过使用这些权限,ssh-keygen可以确保私钥在任何地方都受到保护。

如果您正在运行的程序需要您的公共 SSH 密钥,那么最好将其公钥复制到其他地方。

答案2

值得一提的是,对文件拥有 644/664 访问权限的目的.ssh/id_rsa.pub是为了便于从那里(其创建和引用点)共享。此访问权限基于用户umask设置。

您通常会制作一份交接副本,将其交给需要的地方。为了方便起见,一般来说,ssh-copy-id应尽可能使用该脚本将您的公钥交给对方。

相关内容