我如何创建一个新用户,然后通过 SSH 进入该用户下的框?
我跑了:
useradd marco -d /home/marco -p WuUfhRdt4B
然后我又补充说/etc/ssh/sshd_config:
AllowUsers root marco
然后重启ssh:
/etc/init.d/ssh restart
我无法登录。我错过了什么?
** 运行 Debian。
答案1
我看到的第一件事是您没有专门添加 shell,您可以通过以 root 身份运行来确保用户 shell 是正确的:
chsh -s `which bash` marco
要确保的另一件事是主目录是由 useradd 脚本创建的。
ls -al /home/marco/
如果尚未创建,则需要创建它并将所有权更改为正确的用户:
mkdir /home/marco
cp -a /etc/skel/.[a-z]* /home/marco
chown -R marco.marco /home/marco
我还会确保您的密码正确放置在 /etc/shadow 中,因为我从不信任命令行:
passwd marco
然后输入 marco 的密码(顺便说一句,把密码放在不显示的密码字段以外的任何地方都是一个非常糟糕的主意。历史文件非常容易阅读,serverfault 也是如此:) 请确保更改 marcos 的密码,这就是我要说的)
如果您仍然无法登录,请检查 /var/log/auth、/var/log/messages、/var/log/secure 等中的 sshd 条目,它应该可以让您很好地了解失败的原因。
答案2
在您的示例中,WuUfhRdt4B 是否表示用户的密码?这行不通,因为 useradd -p 的参数(根据手册页)是“crypt(3) 返回的加密密码”。您可能还是想使用 adduser,因为它比 useradd 直观得多。试试这个:
添加用户 marco