所以我遇到了ssh的一个奇怪问题。它并不完全是一个表演限制器,但它想知道它为什么会发生。
我目前正在使用Ubuntu 14.04 x64。我有ssh设置标准方式,键在:
/home/myuser/.ssh/authorized_keys
并拥有权限myuser:myuser
/ w 755
现在打破它,如果我跑:
chown myuser:mysql /home/myuser/
chmod 775 /home/myuser/
我收到server refused our key
错误,在auth.log中,我看到了:
Authentication refused: bad ownership or modes for directory /home/myuser
但是,如果我现在更改模式,以便该组没有写入权限:
chmod 755 /home/myuser/
它工作正常Lol ...... 有人知道为什么会这样吗?
答案 0 :(得分:1)
因为它在source code中是硬编码的。这三行检查您的主目录是否归您所有,其他人无法写入:
if (stat(buf, &st) < 0 ||
(!platform_sys_dir_uid(st.st_uid) && st.st_uid != uid) ||
(st.st_mode & 022) != 0) {
这是非常合理的请求,因为你真的不希望任何人触摸你的主目录(通常甚至不读),但从不写,因为这意味着该组中的任何人都可以将他的密钥添加到你的{{1}文件(或做其他伤害)并以你的身份登录,你基本上不需要。