Double ssh fragt nach der Passphrase zum Entsperren eines RSA-Schlüssels, sollte dies aber nicht

Double ssh fragt nach der Passphrase zum Entsperren eines RSA-Schlüssels, sollte dies aber nicht

Ich habe zwei Maschinen, M1 und M2, beide mit OS X, und eine dritte Maschine, L, mit Linux. M1 und M2 haben RSA-Schlüssel im Schlüsselbund entsperrt, sodass ich:

  • ssh von M1 zu M2, ohne nach einem Passwort oder der Passphrase des Schlüssels gefragt zu werden
  • ssh von M2 nach L, ohne nach einem Passwort oder der Passphrase des Schlüssels gefragt zu werden

Wenn ich jedoch per SSH von M1 zu M2 und dann zu L gehe (während ich mich physisch noch auf M1 befinde), werde ich nach der Passphrase des Schlüssels gefragt! Ich habe versucht, die Sperre manuell mit login.keychaindem securityBefehl aufzuheben, aber das scheint keine Wirkung zu haben.

Was läuft schief? Wie kann ich doppeltes SSH verwenden, ohne Passphrasen einzugeben?

Antwort1

Der Schlüsselbund funktioniert genau wie er soll. -A leitet Ihre geladenen Schlüssel von M1 über M2 an L weiter. Ich vermute, dass beim Anmelden bei M2 Ihre Schlüssel nicht initialisiert bzw. keine vollständige Sitzung gestartet wird, da der grafische Anmeldevorgang mit all seinen Nebenwirkungen nicht stattgefunden hat.

Wenn Sie Ihren Agenten überall hin weiterleiten möchten, wo Sie SSH verwenden, sollten Sie die Datei ~/.ssh/config erstellen und einen Eintrag für den *-Host hinzufügen, wobei „ForwardAgent“ auf „yes“ gesetzt ist:

Host *
    ForwardAgent yes

Darüber hinaus können Sie genauer angeben, an welchen Host Sie Ihren Agenten weiterleiten möchten, indem Sie das * durch einen Hostnamen ersetzen.

Antwort2

Sie versuchen, sich von M2 aus bei L anzumelden. Das bedeutet, dass M2 Ihre Anmeldeinformationen (Schlüssel und Passphrase) haben muss. Ihre Anmeldeinformationen befinden sich jedoch tatsächlich auf M1.

Sie können Ihre Anmeldeinformationen nach M2 kopieren, müssen dann aber mit dem Schlüsselbund auf M2 interagieren. Alternativ können Sie M2 anweisen, den Schlüsselbund auf M1 und nicht den Schlüsselbund auf M2 zu kontaktieren. Dies ist tatsächlich die übliche Methode, und bei einigen Installationen funktioniert dies sofort, bei Ihnen jedoch anscheinend nicht.

AktivierenAgentenweiterleitungvon M1 nach M2. Übergeben Sie in der Befehlszeile mit OpenSSH die Option (d. h. auf M1 -Aausführen ). Sie können die Direktive auch in eingeben . Vielleicht gibt es unter OSX auch eine GUI-Möglichkeit, dies zu tun.ssh -A M2ForwardAgent~/.ssh/config

verwandte Informationen