Utilizzando OpenSSH di homebrew su OS X con ZSH


2

Ho installato l'ultima versione di OpenSSH su OS X usando homebrew. Come da istruzioni nella formula , ho modificato il org.openbsd.ssh-agent.plistfile in modo che punti /usr/local/bin/ssh-agente ho anche aggiunto quanto segue al mio .zshrc:

eval $(ssh-agent)
function cleanup {
    echo "Killing SSH-Agent"
    kill -9 $SSH_AGENT_PID
}
trap cleanup EXIT

Ciò significa, tuttavia, se ho n le schede dei terminali aperte, non ho nssh-agent processi in esecuzione . È necessario? Sicuramente ho bisogno di una sola istanza di ssh-agent in esecuzione in qualsiasi momento?

Risposte:


2

Le istruzioni originali dicono di mettere queste righe nel tuo .bash_profile. Ciò significa che vengono eseguiti solo per shell di accesso . Una shell all'interno di un normale terminale di solito non è una shell di login , quindi ssh-agnet viene avviato solo una volta.

Il corrispondente file rc per zsh è ~/.zprofile. Quindi, metti queste righe non in ~/.zshrc, ma in ~/.zprofile--- et voilà .

Se vuoi sapere di più sulle shell di login , interattive , ecc., Consulta le pagine man delle shell, leggi questa risposta su UnixSE o la mia risposta a un'altra domanda .


Spostando questo codice .zshrca .zprofilesemplice significa che l'apertura di una nuova scheda terminale risultati in un nuovo processo ssh-agent in fase di avvio. Tuttavia, ora non vengono più arrestati poiché le schede vengono chiuse. Detto questo, sto usando iTerm2 e ogni nuova scheda inizia con Last login...un nuovo ttys
Jonny Barnes

Questo comportamento è desiderato? In caso contrario, dovresti provare a configurare correttamente iTerm2 (non invocare zsh come zsh -i). Sfortunatamente non posso aiutarti in quanto non sto usando OSX.
mpy

La modifica di iTerm dall'uso della shell di accesso a un comando specifico di /bin/zshsembra aver funzionato.
Jonny Barnes,
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.