Kann nicht als root SSH

31

Ich verwende die Standardinstallation von openssh-serverfür meinen Ubuntu 14.04-Server. Ich kann mich über die Konsole wie gewohnt als root mit meinem Benutzernamen und Passwort verbinden. Wenn ich jedoch versuche, mit demselben Benutzernamen / Passwort SSH zu verwenden, erhalte ich wiederholt die Fehlermeldung "Zugriff verweigert". /var/log/auth.logmeldet Failed password for root from <ip address> port <port> ssh2, aber ich gebe das richtige Passwort ein.

Warum kann ich über SSH keine Verbindung zum Server herstellen, obwohl der Benutzername und das Kennwort korrekt sind?

Vaindil
quelle
@EliahKagan He he, ich hatte das als Betrug gemeldet, bevor es eine Antwort bekommen hatte. : D
muru
@muru Ich denke, so oder so wäre es in Ordnung, aber das scheint etwas breiter zu sein (allgemeiner), es hat mehr Antworten und es gibt Antworten, die ein breiteres Spektrum an Lösungen vorschlagen. In jedem Fall können die Antworten von einer in die andere überführt werden (oder auch nicht).
Eliah Kagan
Mögliches Duplikat von So aktivieren Sie den SSH-Root-Zugriff auf Ubuntu 14.04
That Brazilian Guy
Wenn Ihr Server sowieso nach außen gerichtet ist, aktivieren Sie SSH nicht als root. Das bittet um Ärger.
Robby1212

Antworten:

66

Die Standardeinstellung in Debian (und daher Ubuntu) für OpenSSH Server ist, die kennwortbasierte Anmeldung für root zu verweigern und nur die schlüsselbasierte Anmeldung zuzulassen. Ändern Sie diese Zeile in /etc/ssh/sshd_config:

PermitRootLogin without-password

zu

PermitRootLogin yes

Und starten Sie den SSH-Server neu:

sudo service ssh restart
muru
quelle
Aha, das hat es geschafft! Vielen Dank, ich schätze es sehr!
Vaindil
2
@ Vaindil Wie in gregory.0xf0 bereits erwähnt , ist es jedoch wesentlich besser, eine schlüsselbasierte Authentifizierung anstelle einer kennwortbasierten Authentifizierung zu verwenden , wenn Sie sich remote als root anmelden müssen .
Eliah Kagan
@ Vaindil Ich habe EliahKagan und gregory.0xf0 vorgezogen, dass die schlüsselbasierte Authentifizierung der passwortbasierten überlegen ist. Wechseln Sie, wenn Sie können.
Muru
Es ist im Übrigen eine schlechte Praxis, Root-Anmeldungen sowieso über SSH oder über die GUI zuzulassen. Sie sollten Root-Anmeldungen immer nur in Fällen benötigen, in denen sie sudodeaktiviert sind.
Thomas Ward
1
Wenn es immer noch nicht funktioniert, versuchen Sie bitte, ein Passwort für den Root festzulegen. Für mich hilft das:sudo passwd root
kkochanski
3

Für mich funktioniert das Ändern (Ubuntu 18.04):

  • sudo nano /etc/ssh/sshd_config

  • PermitRootLogin prohibit-password zu PermitRootLogin yes
  • PasswordAuthentication no zu PasswordAuthentication yes

Starten Sie dann den ssh-Dienst neu:

  • sudo service ssh restart

Vielen Dank!

Rildomar Lucena
quelle
1

Hacker werden den Root-Benutzer davon abhalten, sich brachial durchzusetzen. Wenn Sie Root-Anmeldungen zulassen, sollten Sie auf jeden Fall Fail2Ban oder etwas Ähnliches installieren, um sich vor Brute-Force-Angriffen zu schützen. Verwenden Sie auch ein sehr schwer zu erratendes Passwort ohne die Verwendung gebräuchlicher Wörter.

Und wie Vaindil betonte, wäre eine schlüsselbasierte Anmeldung weitaus besser. Sie sind nicht sehr schwer einzurichten. Hier ist ein Link zum Einrichten der schlüsselbasierten Anmeldung mit PuTTY unter Windows: https://devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/ . Es gibt jedoch viele andere, wenn Sie eine andere Umgebung zum Anmelden verwenden.

mikekehrli
quelle