Neuen Benutzer für AWS EC2 mit SSH konfigurieren

Neuen Benutzer für AWS EC2 mit SSH konfigurieren

Ich habe eine EC2-Instanz erstellt. Sie verfügt über eine Internetverbindung und ich kann mich mit „test_kp.pem“ per SSH bei ubuntu@ip anmelden.

Ich habe einen neuen Benutzer erstellt useradd test-userund ein neues Schlüsselpaar test-user-kpin der AWS EC2-Konsole erstellt.

Ich habe das Verzeichnis home/test-user/.ssh und die Datei .ssh/authorized_keys erstellt

Ich habe den Befehl ausgeführt ssh-keygen -f test-user-kp.pem -yund den Inhalt in authorized_keys kopiert. Außerdem habe ich die Berechtigungen von .ssh und der Datei authorized_keys korrigiert.

Jetzt versuche ich ssh -i test-user-kp.pem test-user@ipden Befehl auszuführen, aber es schlägt mit der Meldung fehl:

test-user@ip: Berechtigung verweigert (öffentlicher Schlüssel).

Antwort1

Möglichkeiten hierzu gibt es einige.

Beim Lesen Ihres Beitrags frage ich mich, ob Sie den Inhalt von test-user-pk.pem in die Datei ~ssh/authorized_keys kopiert haben.. Wenn Sie das getan haben, dann ist das das Problem. Diese Datei ist der PRIVATE Schlüssel - der öffentliche Schlüssel befindet sich in test-user-pk.pem.pub. Dies lässt sich leicht überprüfen, da das Format des privaten Schlüssels sich deutlich vom öffentlichen Schlüssel unterscheidet und mit -----BEGIN OPENSSH PRIVATE KEY------ beginnt und sich über mehrere Zeilen erstreckt - anstatt einer einzigen langen Zeile mit 3 Feldern, die wahrscheinlich mit „ssh-rsa“ beginnt und mit einem Benutzernamen@Hostnamen endet - mit dem öffentlichen Schlüssel in der Mitte.

Ansonsten -

Versuchen Sie im Allgemeinen, sich per SSH als Benutzer mit dem an SSH übergebenen Flag „-v“ anzumelden, um zu protokollieren, was der Client sieht, und sehen Sie dabei auch in die Server-Protokolldatei.

Sie können noch einen Schritt weitergehen, indem Sie eine zweite Instanz von SSHD auf dem Server auf einem alternativen Port starten und diese nicht trennen. Dann können Sie beobachten, was beim Verbindungsversuch passiert.

Einige konkrete Möglichkeiten, die Sie sich ansehen sollten -

  • Beschädigt SeLinux die Instanz (z. B. Dateiberechtigungen oder Ähnliches)? Ich habe das schon einmal gesehen und es ist ärgerlich. Die Datei audit.log würde anzeigen, ob dies der Fall ist, und wenn dies der Fall zu sein scheint, könnte das vorübergehende Deaktivieren von Selinux helfen, dieses Problem auszuschließen. (Ich habe das schon einmal gesehen, aber nicht auf Ubuntu-Boxen)

  • Gibt es etwas in /etc/ssh/sshd_conf, das die Aushandlung verhindert – beispielsweise eine AllowUsers-Liste.

  • Könnte es ein Berechtigungsproblem mit dem Home-Verzeichnis des Benutzers sein?

  • Könnte es etwas Dummes sein, wie zum Beispiel, dass Sie am Ende den Schlüssel hinzugefügt haben?

Antwort2

Ich hatte 'authorized_keys' als root angelegt. Um das zu beheben, habe ich

sudo chown Testbenutzer autorisierte Schlüssel

verwandte Informationen