59 Stimmen

SSH zur AWS-Instanz ohne Schlüsselpaare

1: Gibt es eine Möglichkeit, sich bei einer AWS-Instanz anzumelden, ohne Schlüsselpaare zu verwenden? Ich möchte mehrere Standorte/Benutzer auf einer einzigen Instance einrichten. Ich möchte jedoch keine Schlüsselpaare für die Anmeldung der Kunden herausgeben.

2: Wie kann ich am einfachsten Hosting-Sites/Benutzer in einer AWS-Instanz mit verschiedenen Domains einrichten, die auf separate Verzeichnisse verweisen?

147voto

illy Punkte 1518

Antwort auf Frage 1

Hier ist, was ich an einem Ubuntu EC2 :

A) Melden Sie sich als Root an und verwenden Sie die Schlüsselpaare

B) Richten Sie die erforderlichen Benutzer und ihre Passwörter mit

# sudo adduser USERNAME
# sudo passwd USERNAME

C) Bearbeiten /etc/ssh/sshd_config Einstellung

Damit sich ein gültiger Benutzer ohne Schlüssel anmelden kann

PasswordAuthentication yes

Root soll sich auch ohne Schlüssel anmelden können

PermitRootLogin yes

D) Starten Sie den ssh Daemon mit

# sudo service ssh restart

Ändern Sie einfach ssh in sshd, wenn Sie centOS verwenden

Jetzt können Sie sich bei Ihrem ec2 Instanz ohne Schlüsselpaare.

16voto

ali-hussain Punkte 501

Ich bin über Google hierher gekommen, weil ich eine Antwort darauf gesucht habe, wie man Cloud Init so einrichtet, dass die PasswordAuthentication auf AWS nicht deaktiviert wird. Beide Antworten gehen nicht auf das Problem ein. Wenn Sie ohne diese Option ein AMI erstellen, wird Cloud Init bei der Initialisierung der Instanz diese Option erneut deaktivieren.

Die korrekte Methode hierfür ist, dass Sie statt der manuellen Änderung von sshd_config die Einstellung für cloud init (Open-Source-Tool, das zur Konfiguration einer Instanz während der Bereitstellung verwendet wird) korrigieren müssen. Lesen Sie mehr unter: https://cloudinit.readthedocs.org/en/latest/ ). Die Konfigurationsdatei für Cloud-Init befindet sich unter: /etc/cloud/cloud.cfg

In dieser Datei werden viele der von Cloud Init verwendeten Konfigurationen eingerichtet. Lesen Sie sich diese Datei durch, um Beispiele für Elemente zu finden, die Sie in cloud-init konfigurieren können. Dazu gehören Dinge wie der Standard-Benutzername bei einer neu erstellten Instanz)

Um die Passwortanmeldung über SSH zu aktivieren oder zu deaktivieren, müssen Sie den Wert für den Parameter ssh_pwauth ändern. Nach der Änderung des Parameters ssh_pwauth von 0 auf 1 in der Datei /etc/cloud/cloud.cfg backen Sie ein AMI. Wenn Sie von diesem neu gebackenen AMI starten, ist nach der Bereitstellung die Passwortauthentifizierung aktiviert.

Sie können dies bestätigen, indem Sie den Wert der PasswordAuthentication in der ssh-Konfiguration überprüfen, wie in den anderen Antworten erwähnt.

15voto

Chris Bunch Punkte 83897

1) Sie sollten in der Lage sein, die ssh-Konfiguration zu ändern (unter Ubuntu ist dies normalerweise in /etc/ssh o /etc/sshd ) und aktivieren Sie die Passwortanmeldung erneut.

2) Das ist nicht wirklich AWS-spezifisch - Apache kann mit VHOSTS (virtuellen Hosts) umgehen, so dass Sie festlegen können, dass eine bestimmte Domain von einem bestimmten Verzeichnis aus bedient wird. Für weitere Informationen zu den Besonderheiten würde ich googeln.

3voto

pmagunia Punkte 1598

Kürzlich fügte AWS dem Systems Manager Service eine Funktion namens Sessions Manager hinzu, mit der man sich per SSH in eine Instanz einwählen kann, ohne einen privaten Schlüssel einrichten oder Port 22 öffnen zu müssen. Ich glaube, die Authentifizierung erfolgt mit IAM und optional mit MFA.

Weitere Informationen dazu finden Sie hier:

https://aws.amazon.com/blogs/aws/new-session-manager/

2voto

qoomon Punkte 3470

AWS hat eine neue Funktion hinzugefügt, um eine Verbindung zu einer Instanz ohne offenen Port herzustellen, den AWS SSM Session Manager. https://aws.amazon.com/blogs/aws/new-session-manager/

Ich habe ein ordentliches SSH-ProxyCommand-Skript erstellt, das Ihren öffentlichen SSH-Schlüssel während der Verbindung mit der Zielinstanz temporär zur Zielinstanz hinzufügt. Das Schöne daran ist, dass Sie die Verbindung herstellen können, ohne den ssh(22)-Port zu Ihren Sicherheitsgruppen hinzufügen zu müssen, da die ssh-Verbindung durch den ssm-Sitzungsmanager getunnelt wird.

AWS SSM SSH ProxyBefehl -> https://gist.github.com/qoomon/fcf2c85194c55aee34b78ddcaa9e83a1

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X