.png)
GELÖST.Es war der für die Gruppe beschreibbare Teil user_B
des Home-Verzeichnisses, der mich ausgetrickst hat.
Mir gehen die Ideen hierzu aus. Ich bin für jeden Hinweis sehr dankbar.
Betrachten Sie dieses Setup:
- Ein Server
S
mit Ubuntu, Benutzerboldewyn
unduser_A
user_B
- Zwei Laptops
A
undB
, jeder mit einem lokalen Benutzerboldewyn
(hat einenid_rsa
Schlüssel zum AnmeldenS
) und einem zweiten Schlüsselid_rsa_A
/id_rsa_B
. Alle Schlüssel sind in gespeichert/home/boldewyn/.ssh
. Beide laufen unter Ubuntu. user_A
unduser_B
wennS
das Passwort leer ist, sollte die Anmeldung nur per Publickey und SSH möglich sein.+--------+ +-------------------+ +--------+ | laptop | | server | | laptop | | A | | S | | B | | | | | | | +--------+ SSH +-------------------+ SSH +--------+ |id_rsa_A|------------|< user_A user_B >|------------|id_rsa_B| +--------+ +-------------------+ +--------+ |id_rsa |------------|< boldewyn >|------------|id_rsa | +--------+ +-------------------+ +--------+
Was funktioniert:
Melden Sie sich von jedem Laptop aus als
boldewyn
(mitid_rsa
undS:/home/boldewyn/.ssh/authorized_keys
A
Vom Laptop aus als Benutzer anmeldenuser_A
(mitid_rsa_A
undS:/home/user_A/.ssh/authorized_keys
:ssh -i id_rsa_A user_A@S
)
Mein Problem:Auf dem Laptop B
schlägt genau dasselbe Setup fehl user_B
. Ich kann mich nicht anmelden S
, weil aus irgendeinem Grund der Schlüssel nicht akzeptiert wird und die Kennwortabfrage kommt ( user_B
hat kein Kennwort, das ist keine Option).
Was ich überprüft habe:
Auf dem Laptop
B
:- Die Rechte
~/.ssh
und den gesamten Inhalt wurden überprüft - setze den öffentlichen Teil
id_rsa_B
inboldewyn
s.authorized_keys
undssh -i id_rsa_B boldewyn@S
: funktioniert (der Schlüssel ist nicht beschädigt oder so) ssh -vvv
: Naja, nicht wirklich hilfreich: Sagt mir nur an einer Stelle, dass espublickey
die Methode jetzt überspringt. Kein Grund angegeben.
- Die Rechte
Auf dem Server
S
:- Dreifach geprüfte
user_B
S-.authorized_keys
Datei - Überprüfung der Rechte
/home/*/.ssh
und aller Inhalte (insbesondere Vergleicheuser_A
unduser_B
) - Überprüft, ob
$HOME
eingestellt ist (übersudo -u user_B -i
) - Überprüft, ob alle Benutzer in
/etc/ssh/sshd_config
sAllowUsers
(undAllowGroups
übrigens auch in ) sind
- Dreifach geprüfte
Andere Sachen:
user_A
Der einzige Unterschied, der mir zwischen und einfällt user_B
, ist, dass ich letzteres mit erstellt habe adduser -M
(kein Home-Verzeichnis erstellen, es existierte bereits vorher). Ich habe jedoch dreimal überprüft, dass /home/user_B
und alle relevanten untergeordneten Elemente Eigentum von user_B
und seiner primären Gruppe sind.
Antwort1
Hast du das dreimal überprüft?/home/user_B
(sowie /home/user_B/.ssh
und /home/user_B/.ssh/authorized_keys
) hatten die entsprechenden Berechtigungen:nicht beschreibbar, außer für den Benutzer, also Modus 755 oder restriktiver?
Antwort2
Ich denke, es könnte mit der Art und Weise zusammenhängen, wie Sie diese Schlüssel generiert haben. Ich würde es noch einmal versuchen. Schlüssel werden mit der Funktion ssh-keygen generiert. Vielleicht wurde beim Generieren eines Schlüsselsatzes eine Passphrase im Generierungsprozess verwendet. Sie könnten versuchen, einfach die Eingabetaste zu drücken, wenn Sie zur Eingabe einer Passphrase aufgefordert werden. Kopieren Sie den Pub-Teil dieses Schlüssels nach Ubuntu. Stellen Sie sicher, dass Sie den fehlerhaften Eintrag in der Datei .ssh/authorized_keys löschen. Ein zweiter Gedanke: Wenn Sie die Pub-Datei caten, stellen Sie sicher, dass Sie ein >> (Anhängen) anstelle von > (Ersetzen_) verwenden, wenn Sie die Pub-Datei in die Datei authorized_keys kopieren. (cat id_rsa.pub >> .ssh/authorized_keys).
Ich bin ein wenig überrascht. Ich habe meine Methoden bei der Arbeit mit Solaris und Cygwin und zu Hause in meinem Linux-LAN mit Centos, Slackware, Debian und Ubuntu verwendet. Ist es möglich, dass Ihr privater Schlüssel nicht mit dem öffentlichen übereinstimmt? Wenn Sie Ihre Schlüssel generieren, erhalten Sie ein Paar, der öffentliche wird traditionell in die Datei .ssh/authorized keys im Home-Verzeichnis des Zielcomputers kopiert. Wenn Sie die Schlüssel erneut generieren, muss die neue .pub-Datei kopiert werden. Der neue private Schlüssel wird nicht mit dem alten öffentlichen gepaart. Mir ist aufgefallen, dass Sie anscheinend einen Ordner .authorized_keys im Home-Verzeichnis haben. Das habe ich nie ausprobiert. Ich denke, die normale Platzierung ist im Ordner /home/user_name/.ssh/authorized_keys. Ich hatte nie Probleme mit irgendeiner Version von Solaris ab etwa 6, Freebsd und verschiedenen Iterationen und Varianten von Linux. Viel Glück
Alan