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

Ste*_*wie 10 linux ubuntu user-management groups

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

有一个名为“admin”的现有用户。现在,我的问题是我无法使用 codeuser 凭据直接连接到服务器。但是,我可以通过“admin”然后 su(将用户更改为 codeuser)SSH 进入,并且它可以工作。如何让 shell 访问 codeuser 用户?

这是我的文件的输出:

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
Run Code Online (Sandbox Code Playgroud)

HUB*_*HUB 10

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

  • 我的 sshd_config 文件没有定义任何用户,但我可以以 root 和 user1 身份通过 SSH 登录,但不能以 user2 身份登录 (2认同)

jbo*_*ins 6

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

chmod 700 ~/.ssh
cd ~/.ssh
touch authorized_keys
chmod 600 authorized_keys
Run Code Online (Sandbox Code Playgroud)

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

不管出于什么原因,我不需要PasswordAuthentication yes像其他人提到的那样在 Ubuntu 18.04.3 LTS 上添加到 /etc/ssh/sshd_config 。需要明确的是,我的被注释掉了# PubkeyAuthentication yes,我重新启动了 ssh 和 sshd 服务,并且仍然能够 ssh 输入。


小智 5

创建新用户后偶然发现此线程,并且无法通过 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
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助