2017-01-07 1 views
1

Je veux activer virtualenvwrapper et commencer ssh-agent au démarrage (pour que je puisse ajouter plus tard clé en utilisant ssh-add)Activer virtualenvwrapper et exécuter ssh-agent sur connexion

Voici ce que j'ai essayé:

source /usr/bin/virtualenvwrapper.sh 
exec /usr/bin/ssh-agent $SHELL 

Évidemment, cela ne fonctionne pas, car exec annulera l'effet de la commande source. Donc je suis coincé. Toutes les autres solutions que je trouve sur le débordement de la pile semble inclure exec sous une forme ou une autre :(.

Répondre

1

Vous devriez être en mesure de le faire

eval $(ssh-agent -s) 

au lieu

Cela vous permettra de commencer ssh-agent sans engendrer un nouveau shell Dans un nouveau shell, votre commande source sera hors de portée, mais dans le shell actuel, elle devrait toujours s'appliquer

+0

Un problème avec cette approche est que ssh-agent a gagné ne meurent pas après la fin de la connexion ssh et ssh-agents continue d'empiler. Est-ce que quelque chose peut être fait à ce sujet? –

+0

J'aime 'kill $ (pgrep ssh-agent)' pour tuer les processus dans bash. –