Ho un sito come repository Git remoto che estrae da Bitbucket.com usando un alias SSH. Posso avviare manualmente ssh-agent sul mio server, ma devo farlo ogni volta che accedo tramite SSH.
Avvio manuale di ssh-agent:
eval ssh-agent $SHELL
Quindi aggiungo l'agente:
ssh-add ~/.ssh/bitbucket_id
Quindi viene visualizzato quando lo faccio:
ssh-add -l
E sono a posto. Esiste un modo per automatizzare questo processo, quindi non devo farlo ogni volta che eseguo l'accesso? Il server esegue RedHat 6.2 (Santiago).
ssh-agent <command>viene eseguito <command>come sottoprocesso di ssh-agent, quindi stai avviando una nuova shell. Penso che tu voglia eval ssh-agent.
.bash_profileè specifico per bash, .profileè generico per tutte le shell POSIX. bashcercherà prima .bash_profile, poi di default .profile.
ssh-agentuna shell "standard" (compatibile con POSIX) è eval $(ssh-agent -s). Nota anche che devi assicurarti di sbarazzarti correttamente dell'agente quando ti disconnetti, quindi è anche consigliabile inserire il trap 'kill $SSH_AGENT_PID' EXITtuo .profileafter-line che avvia l'agente.