Domanda

Uso ssh-agent con chiavi protette da password su Linux. Ogni volta che accedo a un determinato computer, lo faccio:

eval `ssh-agent` && ssh-add

Funziona abbastanza bene, ma ogni volta che eseguo l'accesso e faccio questo, creo un altro agente ssh. Di tanto in tanto, farò un killall ssh-agent per raccoglierli. C'è un modo semplice per riutilizzare lo stesso processo ssh-agent in sessioni diverse?

È stato utile?

Soluzione

dai un'occhiata a Keychain. È stato scritto b persone in una situazione simile a te stesso. Keychain

Altri suggerimenti

Quanto controllo hai su questa macchina? Una risposta sarebbe quella di eseguire ssh-agent come processo daemon. Altre opzioni sono spiegate su questa pagina web , fondamentalmente test per vedere se l'agente è in giro e poi eseguendolo se non lo è.

Per riprodurre una delle idee qui:

SSH_ENV="$HOME/.ssh/environment"

function start_agent {
     echo "Initialising new SSH agent..."
     /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
     echo succeeded
     chmod 600 "${SSH_ENV}"
     . "${SSH_ENV}" > /dev/null
     /usr/bin/ssh-add;
}

# Source SSH settings, if applicable

if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     #ps ${SSH_AGENT_PID} doesn’t work under cywgin
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
         start_agent;
     }
else
     start_agent;
fi 

Puoi fare:

ssh-agent $SHELL

Questo causerà l'uscita di ssh-agent all'uscita della shell. Non saranno ancora condivisi tra le sessioni, ma almeno andranno via quando lo fai.

A seconda della shell utilizzata, è possibile impostare diversi profili per le shell di accesso e semplici nuove shell. In generale, si desidera avviare ssh-agent per le shell di login, ma non per ogni subshell. In bash questi file sarebbero .bashrc e .bash_login , per esempio.

La maggior parte dei Linux desktop in questi giorni esegue ssh-agent per te. Basta aggiungere la chiave con ssh-add e quindi inoltrare le chiavi alle sessioni ssh remote eseguendo

ssh -A
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top