O mais fácil é ativar o encaminhamento do agente no SSH para que ele use o agente em seu sistema local e não no servidor. Caso contrário, você pode fazer o que ele sugere na página man e executar eval $(ssh-agent -s)
.
Sempre que faço login em nosso servidor do CentOS 5, MediaTemple (dv), preciso fazer isso:
ssh-agent $BASH
ssh-add .ssh/my_id
uma vez consegui entrar. Isso é usado para que nosso servidor participe de nosso fluxo de trabalho git e, à medida que nos iteramos um pouco durante o desenvolvimento, estou ficando cansado de fazer o mesmo várias vezes.
Adicionar isso ao .bash_profile do servidor não funciona muito bem, e meu entendimento muito limitado do ssh diz que é porque fazer ssh_agent $BASH
praticamente gera uma nova janela de login (e, assim, ele pára de executar as próximas linhas do arquivo ...).
Como faço para que o servidor funcione sempre que faço login remotamente nele?
Isso é copiado de um script que fiz há alguns meses para as equipes com quem trabalho e uso em meu .bashrc. Ele foi compilado a partir de uma coleção de idéias e ajustado para trabalhar em vários sistemas operacionais / ambientes, pois encontramos incompatibilidades. Ele verifica um agente em execução e, se necessário, inicia um (salvando os dados para outros shells). Em seguida, verifica se esse agente possui chaves adicionadas e, se não, as adiciona por 10 horas (projetado para um dia de trabalho) com confirmação de uso. Se desejar, a confirmação pode ser removida removendo as opções -c para ssh-add.
SSH_ENV="$HOME/.bash_sshagent"
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
}
# 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 -q ssh-agent$ || {
start_agent;
}
else
start_agent;
fi
/usr/bin/ssh-add -l > /dev/null || {
echo No ssh identities detected. Running "ssh-add -c -t 36000"...
/usr/bin/ssh-add -c -t 36000;
}
Tags ssh centos mediatemple