我的 ssh 密钥存储在 /etc/ssh/www-user.authorized_keys 中。在我的 /etc/ssh/sshd_config 中,有一行内容
AuthorizedKeysFile /etc/ssh/%u.authorized_keys
我的 /etc/ssh 有权限,700
drwx------ 2 root www-user 936 Apr 28 06:28 ssh
授权文件具有权限600。
-rw------- 1 root www-user 451 Apr 28 06:28 /etc/ssh/www-user.authorized_keys
当我使用用户 ID www-user 执行 ssh 时,出现以下错误 -
debug1: trying public key file /etc/ssh/www-user.authorized_keys
debug1: Could not open authorized keys '/etc/ssh/www-user.authorized_keys': Permission denied
/etc/ssh/www-user.authorized_keys 的权限应该是什么?我这里遗漏了什么?如何知道需要什么权限?有没有手册页或文档?或者如何在 openssh 源代码中检查这一点?
答案1
只有root才有权限访问文件。
您应该将文件夹权限改回 755,将文件夹的组所有者权限改回 root(这是默认配置),并将文件所有者更改为 www-user:
chmod 755 /etc/ssh
chown root:root /etc/ssh
chown www-user:www-user /etc/ssh/www-user.authorized_keys
我会将这些 authorized_keys 文件存储在另一个位置。