Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当主目录由不同的组拥有并被授予完全权限时,ssh拒绝密钥_Ssh - Fatal编程技术网

当主目录由不同的组拥有并被授予完全权限时,ssh拒绝密钥

当主目录由不同的组拥有并被授予完全权限时,ssh拒绝密钥,ssh,Ssh,所以我遇到了ssh的一个奇怪问题。这并不完全是一个表演的阻碍,但我想知道为什么会发生 我目前正在使用Ubuntu 14.04 x64。我已经用ssh设置了标准方式,密钥位于: /home/myuser/.ssh/authorized_keys 并且具有权限myuser:myuser/w755 现在要打破它,如果我运行: chown myuser:mysql /home/myuser/ chmod 775 /home/myuser/ 我得到服务器拒绝了我们的密钥错误,在auth.log中,我看

所以我遇到了ssh的一个奇怪问题。这并不完全是一个表演的阻碍,但我想知道为什么会发生

我目前正在使用Ubuntu 14.04 x64。我已经用ssh设置了标准方式,密钥位于:

/home/myuser/.ssh/authorized_keys
并且具有权限
myuser:myuser
/w
755

现在要打破它,如果我运行:

chown myuser:mysql /home/myuser/
chmod 775 /home/myuser/
我得到
服务器拒绝了我们的密钥
错误,在auth.log中,我看到以下内容:

Authentication refused: bad ownership or modes for directory /home/myuser
但是,如果我现在更改模式,使组没有写入权限:

chmod 755 /home/myuser/
它工作得很好哈哈。。。
有人知道为什么会发生这种情况吗?

因为它是在中硬编码的。这三行检查您的主目录是否为您所有,其他人无法在其中写入:

if (stat(buf, &st) < 0 ||
    (!platform_sys_dir_uid(st.st_uid) && st.st_uid != uid) ||
    (st.st_mode & 022) != 0) {
if(stat(buf,&st)<0||
(!platform\u sys\u dir\u uid(st.st\u uid)和&st.st\u uid!=uid)||
(st.st_模式和022)!=0){

这是一个非常合理的请求,因为您确实不希望任何人接触您的主目录(通常甚至不阅读),但从不写入,因为这意味着该组中的任何人都可以将其密钥添加到您的
授权密钥文件中(或造成其他伤害)然后以您的身份登录,这基本上是您不想要的。

太棒了,每天都是上学的日子:D