SSH fordert bei einem Benutzer ein Passwort an, bei einem anderen jedoch nicht

SSH fordert bei einem Benutzer ein Passwort an, bei einem anderen jedoch nicht

Ich habe zwei Benutzer auf derselben Maschine und versuche, SSH für Benutzer Nr. 2 einzurichten. SSH verlangte immer noch ein Passwort für den zweiten Benutzer, also habe ich die .rsa-Datei von Benutzer Nr. 1 nach Benutzer Nr. 2 kopiert. Obwohl sie identische Dateien und Berechtigungen haben und obwohl von Benutzer Nr. 1 kein Passwort verlangt wird, verlangt SSH immer noch ein Passwort von Benutzer Nr. 2. Was könnte dazu führen, dass zwei Benutzer auf derselben Maschine mit identischen .rsa-Dateien unterschiedliche Antworten von SSH erhalten?

Antwort1

Alle Verzeichnisse, beginnend mit dem Stammverzeichnis und bis zum .ssh-Verzeichnis in Ihrem Home-Verzeichnis, dürfen keine Schreibberechtigung für „Gruppe“ oder „Andere“ haben. Dies ist eine SSH-Anforderung für zusätzliche Sicherheit. Wenn die Berechtigungen nicht so festgelegt wären, hätte ein Angreifer die Möglichkeit, einzudringen und die .ssh-Datei zu ändern oder zu kopieren, beginnend mit dem ersten Verzeichnis, für das er Schreibberechtigung hat, und den privaten Schlüssel auf einen anderen Benutzer seiner Wahl zu kopieren oder die Schlüssel so zu aktualisieren, dass sie seiner Wahl entsprechen. Auf diese Weise könnte er Sie täuschen und sich als Sie anmelden, indem er SSH verwendet und nicht nach dem Passwort gefragt wird. Daher funktionieren die .ssh-Schlüssel nicht, wenn sie nicht richtig mit den entsprechenden Berechtigungen geschützt sind.

Antwort2

Ich antworte unter demAnnahmedass sich Benutzer1 und Benutzer2 auf einem Remote-Server befinden und dass Sie sich lokal mit einem privaten Schlüssel damit verbinden.

Wenn Sie stattdessen versuchen, mit einem lokalen Benutzer1/Benutzer2-Konto eine Verbindung zu einem Remote-Server herzustellen, trifft meine Antwort nicht zu.


Auf dem Remote-Server müssen Sie den Inhalt des öffentlichen Schlüssels hinzufügen zu:

~/.ssh/authorized_keys

Der Inhalt der Datei sieht dann ungefähr so ​​aus:

Bildbeschreibung hier eingeben

Antwort3

Jemand hat zuvor eine vernünftige Antwort gegeben (sie muss gelöscht worden sein), in der er darauf hinwies, dass die Berechtigungen für .rsa und die enthaltenen Dateien falsch waren. Obwohl dies nicht das Problem war, war es fast richtig. Es stellte sich heraus, dass alle Ordner, die zu .rsa führen, über die richtigen Berechtigungen verfügen müssen.

Nachdem ich sie gleich gemacht habe, funktioniert das SSH ohne Eingabeaufforderung. Beim ersten Mal werden Sie aufgefordert, den Hostschlüssel zu akzeptieren, bei der nächsten Verbindung jedoch nicht.

[root@computer ~]# ls -ld /home/user2 /home/user1

drwxrwx--- 24 user2 user2  4096 Jun  2 13:13 /home/user2
drwxr-xr-x 97 user1 user1 12288 Jun  2 13:06 /home/user1



[root@computer ~]# chmod -v 755 /home/user2

mode of `/home/user2' changed to 0755 (rwxr-xr-x)



[root@computer ~]# ls -ld /home/user2 /home/user1

drwxr-xr-x 24 user2 user2  4096 Jun  2 13:13 /home/user2
drwxr-xr-x 97 user1 user1 12288 Jun  2 13:06 /home/user1

verwandte Informationen