强制ssh忽略id_rsa权限

我有一个非常具体的要求,需要一个私人密钥由多个用户使用。 我知道这是多么糟糕。 问题是,如果身份文件的权限是宽容的(在我的情况下是444),ssh将简单地忽略它们。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0444 for '/var/vendor/id_rsa' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored. 

从手册页

包含用于身份validation的私钥。 这些文件包含敏感数据,应该由用户读取,但不能由其他人访问(读/写/执行)。 如果别人可以访问,ssh将简单地忽略私钥文件。

有没有办法强制ssh使用密钥而不检查权限?

您可以使其可用于访问控制列表。 使用实用程序getfaclsetfacl

记住还要用setfacl设置一个合适的掩码,因为如果组权限不一样,通常你添加的任何单独的权限将不会有效。

不过,你的文件系统需要支持它。 如果未启用,则必须在您的fstab中添加挂载选项。