Passphrase SSH ricordato in MacOSX Snow Leopard


8

Sto affrontando una situazione molto strana con Snow Leopard. Ho un server Linux, configurato per accettare una connessione ssh autenticata solo tramite chiave RSA. No Password. Sul mio laptop ho distribuito correttamente la chiave RSA con ssh-keygen e, mentre lo facevo, ho aggiunto una passphrase. Ho quindi spostato id_rsa.pub sul server Linux .ssh / authorized_keys.

Fin qui tutto bene. Ora provo dal mio laptop Snow Leopard per accedere al computer Linux. Ottengo un popup di finestra che mi chiede la passphrase. Questa è la prima cosa che mi sorprende, poiché mi sarei aspettato una richiesta di passphrase della shell, non un popup. L'applicazione che richiede la passphrase è ssh, in base ai dettagli in questa finestra popup. Inoltre, c'è un'opzione "Ricorda la frase nel portachiavi", che è disabilitata.

Ho inserito la mia password Il popup scompare e il terminale accede correttamente alla macchina Linux. Ora se esco e provo di nuovo a ssh, il login avviene senza alcuna richiesta di passphrase, che non è quello che voglio.

Cose che ho controllato:

  • nulla viene salvato nel portachiavi. Sfogliato e trovato nulla.
  • se chiudo / esco dal terminale e ne apro uno nuovo, non mi viene ancora richiesta la passphrase e SSH accede senza alcuna richiesta.
  • se esco dalla sessione di MacOSX e accedo nuovamente, la passphrase viene richiesta al tentativo successivo, sempre con una finestra di dialogo popup. Quindi non è più richiesto.

Dove è memorizzata la passphrase? cosa sta succedendo esattamente e come posso forzare la richiesta della passphrase ad ogni tentativo ssh?

Risposte:


10

OS X avvierà automaticamente ssh-agent per te quando ha bisogno della tua chiave privata. La chiave sarà quindi disponibile tramite ssh-agent (senza immettere nuovamente la passphrase) fino a quando non ti disconnetti da OS X o rimuovi la chiave (tramite ssh-add -do ssh-add -Dper rimuovere tutte le chiavi).

Questo è simile al comportamento standard del sistema * NIX con ssh-agent e consente a funzionalità utili come il forwarding di autenticazione agente ( ssh -A) di funzionare in modo da non dover inserire la chiave privata in tutta la rete.


Se vuoi disabilitare ssh-agent (per tutti gli utenti del tuo Mac) puoi rimuovere il file /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist


Un altro modo è scaricare e disabilitare LaunchAgent:

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

Ciò -wcausa non solo lo scarico, ma lo contrassegna e lo ricorda come disabilitato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.