我正在设置一个用户帐户以通过 SSH 登录服务器。用户名是“sam”
sudo useradd sam
这创建了一个 /home/sam 目录。我创建了一个 .ssh 目录,并将公钥写入该目录中的authorized_keys 文件中。我能够使用 Putty 和 FileZilla 登录系统(当然使用相应的私钥)
但是现在我这样做:
sudo usermod -d some_other_directory sam
然后我在上面的新主目录中创建了 .ssh 并创建了authorized_keys 文件......所有这些都具有适当的权限和所有权(sam 所有者和sam 组)。我现在根本无法登录系统......第二次我将主目录更改回 /home/sam 我再次能够登录......关于我在这里做错了什么的任何想法?
答案1
检查/var/log/auth.log
或/var/log/secure
或其他类似文件取决于您的系统。您有可能会找到一些记录,例如:
sshd[32458]: Authentication refused: bad ownership or modes for directory some_other_directory
在检查该文件夹的所有权和模式并相应修复它之后:您的主目录和 .ssh 不得具有组和其他人的写入权限。
答案2
您可能已Selinux
启用并且它阻止了对authorized_keys
外部/home
文件夹的访问。这是Centos 论坛主题如何解决这个问题。