Wie deaktiviere ich die Remote-SSH-Anmeldung als Root von einem Server aus?

54

Aus Sicherheitsgründen möchte mein Unternehmen, dass sich niemand remote über SSH als Root bei unserem Ubuntu-Server anmelden kann. Wir möchten weiterhin, dass das Root-Konto existiert. Wir möchten nur nicht, dass es remote angemeldet werden kann. Wie würde ich das erreichen?

Vielen Dank im Voraus für Ihre Zeit.

Rob S.
quelle

Antworten:

85

Ich nehme an, Sie wollten sich über SSH einloggen? Setzen Sie die folgende Zeile an /etc/ssh/sshd_config:

PermitRootLogin no

Wenn Sie bestimmten Benutzern die Anmeldung verweigern möchten, geben Sie dies in die Konfigurationsdatei ein:

DenyUsers root

Dies erfolgt nach dem Blacklisting-Ansatz. Whitelisting ist generell vorzuziehen. Wenn Ihr Unternehmen zulassen muss, dass sich Benutzer robund adminBenutzer am Server anmelden, verwenden Sie die folgende Konfigurationsanweisung:

AllowUsers rob admin

Starten Sie nach dem Ändern der Konfigurationsdatei den ssh-Dienst mit dem folgenden Befehl neu:

sudo service ssh restart

Siehe auch die Handbuchseite .

Lekensteyn
quelle
14
und sudo service ssh restartin Kraft treten
Maxim Yefremov
Ich sehe keine sshd_config-Datei, ich sehe diese / etc / ssh / ssh_config.
Chinmaya B
@ChinmayaB Sie haben den OpenSSH-Server wahrscheinlich nicht installiert. Versuchen Siesudo apt-get install openssh-server
Lekensteyn
14

Bearbeiten Sie die Datei /etc/ssh/sshd_configund suchen Sie nach

PermitRootLogin

und setze es auf no.

James Little
quelle
Wenn Sie dies tun, ohne Benutzer mit hinzuzufügen, AllowUsers <username>würde dies in der Tat niemandem erlauben, SSH zu verwenden?
JGlass
1
@JGlass Sie können diese Antwort mit der Antwort oben in Konflikt bringen, die zusätzliche Optionen bietet. Diese bestimmte Zeile verhindert lediglich die Anmeldung über SSH. Wenn sich andere Benutzer auf dem System befinden, können sie sich unter sonst gleichen Umständen immer noch über SSH anmelden, es sei denn, Sie haben DenyUsersdiese Anmeldungen ebenfalls vorgenommen.
Armadadrive
@armadadrive - ahh, danke für die Korrektur und Erklärung!
JGlass
5

In der Standardkonfiguration ist das Root-Konto gesperrt, sodass Sie sich nicht remote als Root anmelden können. Sie müssen nichts weiter tun, es sei denn, Sie möchten auch sicherstellen, dass Sie sich nicht über einen RSA-Schlüssel als Root remote anmelden können. Wenn Sie das nicht möchten, richten Sie einfach keinen Root-Schlüssel ein.

Psusi
quelle
1
Dies war nicht die Standardeinstellung für meinen Linode Ubuntu 14.04-Computer. PermitRootLoginwurde auf gesetzt yesund es gab keine AllowUsersoder DenyUsersKonfigurationszeile. Sofern ich nichts vermisse, kann ich nicht davon ausgehen, dass es standardmäßig gesperrt ist
andrewtweber
@andrewtweber, Root-Login ist nicht über ssh config verboten, sondern systemweit, indem das Root-Passwort auf einen ungültigen Wert gesetzt wird, den Sie nicht eingeben können. Wie gesagt, Sie können also immer noch mit einem RSA-Schlüssel als root sshen, nur nicht mit einem Passwort.
Psusi
ok danke, kannst du diese erklärung zu deiner antwort hinzufügen und dann kann ich meine downvote entfernen
andrewtweber
@andrewtweber, es ist bereits in meiner Antwort ..
Psusi
Ihre Erklärung, wie das Root-Konto gesperrt ist, finden Sie nicht in Ihrer Antwort. Wie auch immer, ich kann keine Ablehnung entfernen, es sei denn, Ihre Antwort wurde bearbeitet. Seien Sie also hartnäckig, wenn Sie möchten
andrewtweber