无法以 root 身份通过 SSH 登录

无法以 root 身份通过 SSH 登录

我正在为我的 Ubuntu 14.04 服务器使用默认安装openssh-server。我可以像平常一样使用我的用户名和密码通过控制台以 root 身份进行连接。但是,当我尝试使用相同的用户名/密码进行 SSH 时,我反复收到访问被拒绝错误/var/log/auth.log报告Failed password for root from <ip address> port <port> ssh2,但我输入了正确的密码。

为什么即使用户名和密码正确,我仍无法通过 SSH 连接到服务器?

答案1

Debian(以及 Ubuntu)中 OpenSSH Server 的默认设置是拒绝 root 的基于密码的登录,而仅允许基于密钥的登录。将以下行更改为/etc/ssh/sshd_config

PermitRootLogin without-password

PermitRootLogin yes

并重新启动 SSH 服务器:

sudo service ssh restart

答案2

对我来说,工作正在改变(Ubuntu 18.04):

  • sudo nano /etc/ssh/sshd_config

  • PermitRootLogin prohibit-passwordPermitRootLogin yes
  • PasswordAuthentication noPasswordAuthentication yes

然后,重新启动 ssh 服务:

  • sudo service ssh restart

谢谢!

答案3

黑客会利用试图暴力破解的 root 用户进行攻击。如果您要允许 root 登录,则一定要安装 Fail2Ban 或类似程序来防止暴力破解攻击。此外,请使用非常难以猜测的密码,不要使用常用词。

而且,正如 Vaindil 指出的那样,基于密钥的登录方式会更好。它们设置起来并不难。以下是使用 PuTTY 在 Windows 上设置基于密钥的登录方式的链接:https://devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/。但如果您使用不同的环境登录,则还有很多其他情况。

相关内容