无法为新用户获取 SSH 访问权限

无法为新用户获取 SSH 访问权限

我在 ubuntu 10 上创建了一个新用户,用户名:codeuser

有一个名为“admin”的现有用户。现在,我的问题是我无法使用 codeuser 凭据直接连接到服务器。但是,我可以通过“admin”通过 SSH 进入,然后 su(将用户更改为 codeuser),这样就可以了。如何获取 codeuser 用户的 shell 访问权限?

这是我的文件的输出:

cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
www-data:x:33:33:www-data:/var/www:/bin/bash
admin:x:1000:1000:,,,:/home/admin:/bin/bash
ftp:x:107:65534::/home/ftp:/bin/false
codeuser:x:1004:33::/home/codeuser:/bin/bash


cat /etc/group

root:x:0:
www-data:x:33:
codeuser:x:1005:



iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination          
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:mysql  

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination          

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

答案1

检查 /etc/ssh/sshd_config 以获取允许的用户列表。如果没问题,则问题更加复杂。尝试以“ssh codeuser@your-server -v”的身份进行连接

答案2

在 Ubuntu 18.04 上,我只是忘记将客户端的公钥添加到授权密钥文件中(这篇文章让我开始思考 authorized_keys 文件:https://superuser.com/a/1337741/413936)。

chmod 700 ~/.ssh
cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys

然后将您的客户端的公钥添加到authorized_keys文件中。

但无论出于什么原因,我都不需要PasswordAuthentication yes像其他人提到的那样在 Ubuntu 18.04.3 LTS 上添加 /etc/ssh/sshd_config。需要说明的是,我的配置文件被注释掉了# PubkeyAuthentication yes,我重新启动了 ssh 和 sshd 服务,仍然能够 ssh 进入。

答案3

创建新用户后偶然发现此线程,无法通过 SSH 连接到新用户。我设法在查找 .ssh 文件夹和 authorized_keys 文件的组和用户后修复了这个问题。它们被设置为 root:root,因为我使用 sudo 从其他用户的文件夹中复制了它们。

所以我用以下方法修复它:

sudo chown new_user:new_user /home/new_user/.ssh/
sudo chown new_user:new_user /home/new_user/.ssh/authorized_keys

希望这可以帮助

答案4

尝试检查 /var/log/auth.log 以查找可能的错误消息。

另外,要求用户尝试使用 ssh -v 登录,以获得更详细的输出。

希望这可以帮助!

相关内容