Yas*_*ika 0 ssh openssh ssh-keys
我在sshd_config上添加了这些行
AuthorizedKeysCommand /authorizedkeys/authorized-keys
AuthorizedKeysCommandUser ssh-keys
-rwxr-x--- 1 root ssh-keys 712 Dec 23 22:36 /authorizedkeys/authorized-keys
-rwxr-x--- 1 root ssh-keys 712 Dec 23 22:36 authorized-keys
Run Code Online (Sandbox Code Playgroud)
ssh-keys用户可以执行该文件(/ authorizedkeys/authorized-keys).但我不能ssh到服务器; ssh git@myserver.com
在auth.log中我可以看到这一行,
error: Unsafe AuthorizedKeysCommand: bad ownership or modes for directory /
Run Code Online (Sandbox Code Playgroud)
如果我给/ authorizedkeys/authorized-keys文件授予770权限,我会收到以下错误,
error: Unsafe AuthorizedKeysCommand: bad ownership or modes for file /authorizedkeys/authorized-keys
Run Code Online (Sandbox Code Playgroud)
我尝试使用root作为AuthorizedKeysCommandUser并更改/ authorizedkeys/authorized-keys文件的权限和所有者.它也没用.
我在ubuntu 14.04上使用OpenSSH_6.6.1p1.
注意:我可以使用authorized_keys文件ssh
Unsafe AuthorizedKeysCommand: bad ownership or modes for directory /
Run Code Online (Sandbox Code Playgroud)
它抱怨根目录的所有权或权限.根据源代码,文件,包含该文件的目录以及所有父目录(包括根目录)必须由root拥有.所有这些文件和目录的权限必须为0755(拒绝对组和其他的写访问).
我的猜测是你在根目录上设置了组写权限,或类似的东西.
授予"/ authorizedkeys/authorized-keys"0770权限也会导致该文件无法通过权限检查.
为完整起见,这是发出目录错误的代码部分:
if (stat(buf, &st) < 0 ||
(!platform_sys_dir_uid(st.st_uid) && st.st_uid != uid) ||
(st.st_mode & 022) != 0) {
snprintf(err, errlen,
"bad ownership or modes for directory %s", buf);
return -1;
}
Run Code Online (Sandbox Code Playgroud)
它会在以下情况下发出错误:
| 归档时间: |
|
| 查看次数: |
5022 次 |
| 最近记录: |