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.py
innerhalb/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:)