SSH-Passphrase in MacOSX Snow Leopard gespeichert

8

Ich bin mit Snow Leopard in einer sehr seltsamen Situation. Ich habe einen Linux-Server, der so konfiguriert ist, dass er eine SSH-Verbindung akzeptiert, die nur über den RSA-Schlüssel authentifiziert wird. Kein Passwort. Auf meinem Laptop habe ich den RSA-Schlüssel mit ssh-keygen korrekt bereitgestellt und dabei eine Passphrase hinzugefügt. Ich habe dann die Datei id_rsa.pub auf dem Linux-Server .ssh / authorized_keys verschoben.

So weit, ist es gut. Jetzt versuche ich von meinem Snow Leopard-Laptop aus, mich auf dem Linux-Computer anzumelden. Ich erhalte ein Fenster-Popup, in dem ich nach der Passphrase gefragt werde. Dies ist das erste, was mich überrascht, da ich eine Shell-Passphrase-Anfrage erwartet hätte, kein Popup. Die Anwendung, die die Passphrase anfordert, ist gemäß den Details in diesem Popup-Fenster ssh. Außerdem gibt es eine Option "Satz im Schlüsselbund merken", die deaktiviert ist.

Ich gebe mein Passwort ein. Das Popup verschwindet und das Terminal meldet sich korrekt am Linux-Computer an. Wenn ich mich jetzt abmelde und erneut versuche, ssh auszuführen, erfolgt die Anmeldung ohne Anforderung einer Passphrase, was nicht das ist , was ich will.

Dinge, die ich überprüft habe:

  • nichts wird im Schlüsselbund gespeichert. Durchsuchte und fand nichts.
  • Wenn ich das Terminal schließe / beende und ein neues öffne, werde ich immer noch nicht nach der Passphrase gefragt, und der SSH meldet sich ohne Anfrage an.
  • Wenn ich mich von der MacOSX-Sitzung abmelde und mich erneut anmelde, wird die Passphrase beim nächsten Versuch erneut mit einem Popup-Dialogfeld angefordert. Dann wird es nicht mehr angefordert.

Wo ist die Passphrase gespeichert? Was ist genau los und wie kann ich die Anforderung der Passphrase bei jedem SSH-Versuch erzwingen?

Stefano Borini
quelle

Antworten:

10

OS X startet ssh-agent automatisch für Sie, wenn es Ihren privaten Schlüssel benötigt. Ihr Schlüssel ist dann über ssh-agent verfügbar (ohne Ihre Passphrase erneut einzugeben), bis Sie sich von OS X abmelden oder den Schlüssel entfernen (über ssh-add -doder ssh-add -D, um alle Schlüssel zu entfernen).

Dies ähnelt dem Standardverhalten des * NIX-Systems mit ssh-agent und ermöglicht nützliche Funktionen wie die Weiterleitung der Agentenauthentifizierung ( ssh -A), sodass Sie Ihren privaten Schlüssel nicht im gesamten Netzwerk ablegen müssen.


Wenn Sie ssh-agent deaktivieren möchten (für alle Benutzer Ihres Mac), können Sie die Datei entfernen /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist


Eine andere Möglichkeit besteht darin, den LaunchAgent zu entladen und zu deaktivieren:

sudo launchctl -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

Das -wbewirkt , dass es nicht nur entladen , aber Marke & erinnert sich als untauglich.

voretaq7
quelle