Ich kann nichts, was ich konnte. Nach ein wenig Graben fand ich heraus, dass es nicht ssh config aus meinem Home-Verzeichnis liest.
$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
(...)
Wenn auf einem identischen Computer eines Freundes alles funktioniert, sieht es so aus:
$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
(...)
Es hat früher funktioniert und mir ist nichts bekannt, was ich hätte tun können, um dieses Problem zu verursachen. Wie könnte dies passieren und wie kann es behoben werden?
In dem von tike angegebenen Dokumentationslink heißt es:
Aufgrund des Missbrauchspotenzials muss diese Datei über strenge Berechtigungen verfügen: Lesen / Schreiben für den Benutzer und für andere nicht zugänglich.
Meine Berechtigungen sind:
$ ls -la ~/.ssh
total 80
drwx------+ 42 kuba 1029 1428 Jul 1 16:33 ..
-rwx------ 1 kuba 1029 1528 May 15 13:07 config
(...)
Ich denke, dass das Problem mit einer Verwirrung über Ausgangsverzeichnis sein könnte. Wenn ich die lokale Konfigurationsdatei erzwinge, beginnt sie zu arbeiten und beginnt dann plötzlich zu lesen/nas/kuba
$ ssh -xvvvF ~/.ssh/config server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
debug1: /Users/kuba/.ssh/config line 1: Applying options for *
debug1: /Users/kuba/.ssh/config line 39: Applying options for bio
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXXX [YYYY.YYY.YYY.YYY] port 22.
debug1: Connection established.
debug1: identity file /nas/kuba/.ssh/id_dsa type -1
^^^^^^^^^^
Aber mein Heimatverzeichnis scheint in Ordnung zu sein:
$ cd ~; pwd
/Users/kuba
$ echo $HOME
/Users/kuba
ssh
ignoriert dieHOME
Umgebungsvariable. Es ist eine schlechte Praxis zu ignorierenHOME
, scheint es das ist , was derssh
Fall ist. Wenn es nicht verwendet wirdHOME
, ist die einzige Alternative, die mir bekannt ist, es von der Website nachzuschlagenuid
. Wenn Sie zwei Einträge/etc/passwd
mit identischen Einträgen habenuid
, werden beide dieselbe.ssh/config
Datei verwenden, auch wenn sie ein anderes Zuhause haben.Antworten:
Sie scheinen zwischen benutzerspezifischem und globalem ssh_config gefangen zu sein.
Bitte überprüfen Sie die Berechtigungseinstellungen der Konfigurationsdatei Ihres Benutzers (
~/.ssh/config
) und Ihrer systemweiten Konfigurationsdatei (/etc/ssh/ssh_config
), um weitere Einzelheiten zu erfahren.Mehr dazu können Sie hier lesen . Praktischerweise sollten sich alle Dateien in Ihrem benutzerbasierten
.ssh
Verzeichnis auf 600 und dieconfig
Datei auf 644 befinden. Sie können dies mit den folgenden Befehlen in Ihrem Ausgangsverzeichnis einstellen:quelle
Überprüfen Sie die Berechtigungen
und
Wenn die Berechtigungen schlecht sind, versucht der ssh-Client nicht, daraus zu lesen
quelle
Ich hatte das gleiche Problem und konnte es beheben, indem ich das + x-Flag in meinem
~/.ssh
Verzeichnis (0700) und gleichzeitig 0600 aktivierte~/.ssh/config
.quelle
Für das, was es wert ist, hatte ich das gleiche Problem und habe es behoben, indem ich ssh dazu gebracht habe, den
.ssh
Ordner neu zu erstellen (einfach umbenennen)ssh
einen ssh-Befehl und führe ihn aus) und anschließend die benötigten Dateien mit den entsprechenden Berechtigungen kopierte. (config mit 600).Anscheinend wird ssh misstrauisch, wenn der Ordner
.ssh
so geändert wird, dass er ...quelle
SSH liest die lokale Konfiguration nicht, wenn es sich um ein von NFS eingehängtes Dateisystem handelt. Dies ist eine Überprüfung wert, da alle Berechtigungen in Ordnung sein können und SSH (mindestens Version 6.6) keinen Hinweis darauf gibt, warum die Benutzerkonfiguration nicht gelesen wird. (Es wird jedoch von einem NFS-Volume gelesen, wenn Sie die
-F
Option verwenden.)quelle
Auf MacOs ist das gleiche Problem aufgetreten. Als ich mir die Debug-Informationen eines manuellen Logins (ssh @) ansah, stellte ich fest, dass ssh anscheinend mein Home-Verzeichnis war
/srv/home/<userid>
und nach dem suchte.ssh
Verzeichnis hielt , und ignorierte es/Users/<userid>/.ssh/
Es hat wahrscheinlich etwas mit der Einrichtung der Macs auf eine bestimmte Weise zu tun, aber ich würde empfehlen, dies zu überprüfen
ssh
und das Betriebssystem zu vereinbaren, wo sich das Home-Verzeichnis befindet;)quelle
Beachten Sie, wie 'Kasperd' in seinem Kommentar zu der Frage anzeigte, dass
ssh
nicht unbedingt nach '$ {HOME} /. Ssh / config' gesucht wird. Wie herausgefunden wurde, ist es wichtig, tiefer zu graben und zu erfahren, wo sich das Ausgangsverzeichnis zum Zeitpunkt der Anmeldung befand und bevor ein neues Ausgangsverzeichnis erstellt wurde.Der Hinweis zum Durchschauen der Ausgabe von
ssh -xvvvF ~/.ssh/config server
war sehr aufschlussreich, um genau diese Frage zu beantworten. Auf einem System, auf dem zwei verschiedene Benutzernamen dieselbe UID in der Datei '/ etc / passwd' haben, ist dieses Problem aufgetreten. Die beiden Benutzer haben unterschiedliche HOME-Verzeichnisse in '/ etc / passwd'.In einem solchen Szenario stellt sich heraus, dass, wenn einer als zweiter Benutzer mit einer doppelten UID in der Datei '/ etc / passwd' angemeldet ist, das Ausgangsverzeichnis
ssh
des ersten Benutzers mit einer übereinstimmenden UID des Benutzers verwendet, der das SSH ausführt Befehl.Zugegeben, dieser Anwendungsfall ist ziemlich seltsam und wird den meisten Leuten nicht helfen, aber es ist tatsächlich passiert, und diese Frage / Antwort hat zur Lösung eines Problems beigetragen.
quelle
Dies wurde durch Dateiberechtigungseinstellungen verursacht.
Überprüfen Sie Ihre
.ssh
Verzeichnis- und Dateiberechtigungen. Überprüfen Sie auch die Berechtigungseinstellungen für das Ausgangsverzeichnis.Für mich möchte ich nicht, dass andere meine persönlichen Dateien sehen, also entferne ich die
x
Erlaubnis meines Heimatverzeichnisses. Was dazu führt, dass ssh autorisierte Schlüssel auf den falschen Weg findet.Eine Möglichkeit, dies zu beheben, bestand darin, einen anderen Berechtigungspfad festzulegen
/etc/ssh/sshd_config
, zum Beispiel:dann kopiere deine Kneipe nach
/etc/ssh/authorized_keys
, arbeitete für mich.quelle