382 votes

Démarrer ssh-agent à la connexion

J'ai un site distant Git repo tirant à partir de Bitbucket.com à l'aide d'un alias SSH. Je peux démarrer manuellement le ssh-agent sur mon serveur, mais j'ai à chaque fois cela me connecter via SSH.

J'ai démarrer manuellement le ssh-agent:

eval ssh-agent $SHELL

Puis-je ajouter de l'agent:

ssh-add ~/.ssh/bitbucket_id

Puis il s'affiche quand je fais:

ssh-add -l

Et je suis bon pour aller. Est-il possible d'automatiser ce processus, de sorte que je n'ai pas à faire à chaque fois je me connecter? Le serveur est en cours d'exécution RedHat 6.2 (Santiago).

483voto

Litmus Points 2576

S'il vous plaît aller à travers cet article. Vous pouvez trouver cela très utile:

http://mah.everybody.org/docs/ssh

Juste au cas où le lien ci-dessus disparaît un jour, je suis la capture de la pièce principale de la solution ci-dessous:

Cette solution de Joseph M. Reagle par Daniel Starin:

Ajouter ce qui suit à votre .bash_profile

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

Cette version est particulièrement agréable car elle permettra de voir si vous avez déjà commencé à ssh-agent et, si elle ne peut pas le trouver, va démarrer et enregistrer les paramètres de sorte qu'ils vont être utilisable, la prochaine fois que vous lancez un shell.

146voto

xelber Points 980

Vieille question, mais je suis tombé sur une situation similaire. Ne pensez pas que la réponse ci-dessus réalise pleinement ce qui est nécessaire. La pièce manquante est le trousseau,

 sudo apt-get install keychain
 

Fera ce qui est nécessaire dans ce cas. (si non installé) Vérifiez http://unix.stackexchange.com/questions/90853/how-can-i-run-ssh-add-automatically-without-password-prompt Pour plus de détails

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X