在为几个共同开发人员设置了一台 SuSE 机器后,我发现 SuSE 的用户权限处理方式不同(所有用户都是组“用户”,umask 022),而我习惯的 RedHad / Gentoo 方式(所有用户都有自己的组,umask 002)。
因此,我删除了所有用户,并重新创建了每个用户,每个用户都有自己的组,并全局设置了 umask 002。
然而,在我这样做之后,SSH 公钥认证不再起作用。
它做过之前的工作,以及~/.ssh
目录做模式为 700,~(/.ssh/authorized_keys
文件做有模式 600,但 SSH 仍然坚持要求输入密码,这是重做之前没有做过的。
我错过了什么?
答案1
/
ssh 守护程序要求从到的整个目录访问链~/.ssh/authorized_keys
只能由用户(和 root)写入,特别是每个目录都必须是非组可写的。一个常见的罪魁祸首是主目录,它必须只能由用户(模式 700 或 750 或 755)写入,即使用户在其组中是单独的。