Wie erzwingt die Ubuntu-Cloud-Version die „keine Root-Anmeldung“ über SSH?

Wie erzwingt die Ubuntu-Cloud-Version die „keine Root-Anmeldung“ über SSH?

Ich möchte die Standardeinstellungen der Ubuntu-Cloud-Version optimieren, sodass die Root-Anmeldung verweigert wird.

Der Versuch, eine Verbindung zu einer solchen Maschine herzustellen, führt zu:

maxim@maxim-desktop:~/workspace/integration/deployengine$ ssh [email protected]
The authenticity of host 'ec2-204-236-252-95.compute-1.amazonaws.com (204.236.252.95)' can't be established.
RSA key fingerprint is 3f:96:f4:b3:b9:4b:4f:21:5f:00:38:2a:bb:41:19:1a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-204-236-252-95.compute-1.amazonaws.com' (RSA) to the list of known hosts.
Please login as the ubuntu user rather than root user.

Connection to ec2-204-236-252-95.compute-1.amazonaws.com closed.

Ich möchte wissen, in welcher Konfigurationsdatei die Root-Blockierung über SSH konfiguriert ist und wie ich die ausgegebene Meldung ändern kann?

Antwort1

Alte Frage, aber niemand hat wirklich geantwortet, und ich hatte die gleiche Frage: Woher kommt diese Konfiguration?

Es stammt auscloudinit, genau in cc_ssh.pyinnerhalb/usr/lib/python2.7/dist-packages/cloudinit/config

Dies ist wiederum direkt von der Datei abhängig /etc/cloud/cloud.cfg. Dort findest Du eine Zeile disable_root: true.

Sie sollten es überschreiben können, indem Sie Ihre Benutzerdaten anpassen und die Zeile hinzufügen disable_root: false. Ihr Cloud-Anbieter sollte die Benutzerdaten konfigurierbar machen.

Antwort2

Vorausgesetzt, Ihre SSHD-Konfiguration hat PermitRootLogin yes.

sudo grep "login as the ubuntu user" /root/.??*

Ich empfehle Ihnen jedoch dringend, den von Mike Scott bereitgestellten Link sorgfältig durchzulesen und zu beachten.

ROOT-SSH

Wenn Sie schließlich den Ubuntu-Sicherheitsstandard umgehen und zur alten Vorgehensweise zurückkehren möchten, bei der SSH und Rsync als Root zugelassen werden, öffnet dieser Befehl eine neue Instanz der offiziellen Ubuntu-Images:

ssh -i KEYPAIR.pem ubuntu@HOSTNAME 'sudo cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/' Dies wird nicht empfohlen, kann aber eine Möglichkeit sein, den vorhandenen EC2-Automatisierungscode weiterhin zum Laufen zu bringen, bis Sie auf die oben beschriebenen Sudo-Praktiken aktualisieren können.

Ich lasse Root-SSH-Anmeldungen deaktiviert, da jeder öffentliche Server mit aktiviertem SSH Tag und Nacht durch Root-Anmeldeversuche von kriminellen Botnetzen angegriffen wird.

An anderer Stelle warnt die Dokumentation

Das Aktivieren des Root-Kontos ist selten notwendig. Fast alles, was Sie als Administrator eines Ubuntu-Systems tun müssen, können Sie über sudo oder gksudo erledigen. Wenn Sie wirklich einen dauerhaften Root-Login benötigen, ist die beste Alternative, eine Root-Login-Shell mit dem folgenden Befehl zu simulieren ...

sudo -i

Antwort3

Die Antwort ist hier:http://alestic.com/2009/04/ubuntu-ec2-sudo-ssh-rsync

Kopieren Sie die Datei authorized_keys vom Ubuntu-Konto in das Root-Konto. Die Passwortanmeldung ist deaktiviert, Sie benötigen also einen gültigen SSH-Schlüssel, um sich bei einem beliebigen Konto anzumelden.

Antwort4

Überprüfen Sie /etc/ssh/sshd_config, die Option heißt „Root-Login zulassen“

 PermitRootLogin
         Specifies whether root can log in using ssh(1).  The argument
         must be “yes”, “without-password”, “forced-commands-only”, or
         “no”.

Eine weitere nützliche Einstellung ist „ohne -Passwort“, mit der Sie sich als Root anmelden können, aber nur, wenn Sie die Authentifizierung mit öffentlichem Schlüssel verwenden. man sshd_config für weitere Informationen:)

verwandte Informationen