无法以root身份SSH登录


31

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

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



@EliahKagan他,我已经报告说这是骗局,直到得到答案。:D
大师

@muru我认为,无论哪种方式是好的,但一个似乎sccope(更普遍的)更广泛一点,有更多的答案,有答案暗示更广泛的解决方案。不管是哪种方式,都可以将它们的答案合并到另一个(也可以不)。
伊利亚·卡根


如果您的服务器始终朝外,请不要以root用户身份启用SSH。这是自找麻烦。
Robby1212 '18

Answers:


66

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

PermitRootLogin without-password

PermitRootLogin yes

并重新启动SSH服务器:

sudo service ssh restart

啊哈,做到了!谢谢,我非常感谢!
vaindil 2014年

2
@Vaindil但是,确实,如gregory.0xf0所说,如果必须以root用户身份远程登录,最好使用基于密钥的身份验证而不是基于密码的身份验证
伊利亚·卡根

@Vaindil我第二个EliahKagan和gregory.0xf0认为,基于密钥的身份验证优于基于密码的身份验证。如果可以,请切换到它。
穆鲁

顺便说一句,无论如何都是允许通过SSH或GUI进行root登录的错误做法,仅在sudo禁用了root的情况下才需要root登录。
托马斯·沃德

1
如果仍然无法使用,请尝试为root用户设置密码。对我有帮助的sudo passwd root
kkochanski

3

对我来说,作品在变化(Ubuntu 18.04):

  • sudo nano /etc/ssh/sshd_config

  • PermitRootLogin prohibit-passwordPermitRootLogin yes
  • PasswordAuthentication noPasswordAuthentication yes

然后,重新启动ssh服务:

  • sudo service ssh restart

谢谢!


1

黑客会用root用户试图强行闯入而大吃一惊。如果要允许root登录,则一定要安装Fail2Ban或类似的工具来防止暴力攻击。不使用常用词也要使用很难猜出的密码。

而且,正如Vaindil所指出的那样,基于密钥的登录将更为优越。它们不是很难安装。这是在Windows上使用PuTTY设置基于密钥的登录的链接:https : //devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/。但是,如果您使用其他环境登录,则还有很多其他问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.