我做了什么
ssh root@your_server_ip
adduser sammy
usermod -aG sudo sammy
- 然后我尝试以“sammy”身份登录
ssh sammy@your_server_ip
错误
Permission denied (publickey).
- 如果我以 root 权限登录,就不会出现任何问题,就像以前一样
我尝试过的修复方法
- 清理后将 shh 密钥文件夹放进去,只留这个密钥
- 我没有找到任何答案,但我的问题有点像这
- 这不太类似于这。
ssh -vvv root@my_ip
从这里它像调试行一样推出我应该寻找什么?- 我曾尝试在 ubuntu 上读取 sshd 服务器日志这最常见消息
Disconnected from invalid user somefirstname43
Disconnected from invalid user someotherfirstname334
Disconnected from authenticating user root
Received disconnect from ID port ...
Accepted publickey for root from ID
Did not receive identification string from ID port ....
Connection closed by authenticating user sammy ID port portnumber <<----
答案1
这个问题的答案在数字海洋
1.以root身份登录
ssh root@IP
2.编辑ssh配置:
sudo nano /etc/ssh/sshd_config
3.将此行更改
PasswordAuthentication no
为
PasswordAuthentication yes
4.重新启动守护进程:
sudo systemctl restart sshd
5.执行 ssh-copy-id:
ssh-copy-id someuser@IP
(如果您已经有密钥,可能不允许您复制,因此请跳过此步骤并使用下一步登录)
6.以之前创建的新超级用户身份登录ssh someuser@IP
7.如果您注重安全,请恢复对 ssh_config 的更改并重新启动守护进程。
答案2
您的用户 sammy 需要您用于登录 root 用户的公钥。最简单的方法是从您的 root 用户复制 authorized_keys 文件。
mkdir ~sammy/.ssh
chmod 640 ~sammy/.ssh
cp ~/.ssh/authorized_keys ~sammy/.ssh/
chown -R sammy:sammy ~sammy/.ssh/