Eu também escrevi um proxy entre openssh e pageant, que eu chamo de ssh-pageant . Parece quase a mesma abordagem que charada, mas eu não tinha ouvido falar disso. Bem, no caso de você ter problemas, eu pensei em jogar fora o ssh-pageant para tentar.
Agora estou usando o msysgit por causa das ferramentas GUI, que usam os utilitários Pageant e Plink do Putty, mas eu uso o Cygwin como um terminal SSH geral. Eu estava usando ssh-agent no Cygwin, mas isso significa que eu tenho que inserir meus senhas de chaves SSH para ambos os gerentes de chaves SSH. É possível configurar todas as minhas ferramentas de porta Unix (msys, git, cygwin, Ruby Net: SSH, etc.) para usar o PLink / Pageant em vez do ssh-agent? Parece que esse é o tipo de coisa que o Plink foi feito, mas não consigo encontrar documentação sobre como.
Eu também escrevi um proxy entre openssh e pageant, que eu chamo de ssh-pageant . Parece quase a mesma abordagem que charada, mas eu não tinha ouvido falar disso. Bem, no caso de você ter problemas, eu pensei em jogar fora o ssh-pageant para tentar.
Me deparei com o charade há algum tempo, que substitui o ssh-agent e os proxies pelo Pageant. Na época, não consegui fazê-lo funcionar, e não tive a chance de jogar com ele desde então, mas pode valer a pena tentar. Se você tiver alguma sorte, por favor poste de volta e me avise, está na minha lista de coisas para fazer por muito tempo!
Você está procurando integrar o ssh-agent e o concurso para que você tenha apenas um keystore. Uma maneira de fazer isso é usar o PuTTY como terminal, manter as chaves no concurso, ativar o encaminhamento do agente, executar o Cygwin sshd e o ssh no host local. Isto lhe dará um ambiente onde as chaves são servidas pelo pageant através da conexão ssh com o PuTTY - não há necessidade de executar o ssh-agent.
Deveria ser possível fazer o mesmo com o Plink. Basta usar a opção -A e usar a configuração SSH_AUTH_SOCK resultante nas sessões interativas do Cygwin. Disclaimer: Eu não tentei isso.
Edit: Eu já tentei isso; funciona muito bem. Eu criei um atalho para o PLINK:
"C:\path\to\PLINK.EXE" -A -ssh -l yournamehere localhost "echo $SSH_AUTH_SOCK; while :; do sleep 86400; done"
Então, em um terminal do Cygwin (eu uso o PuTTYcyg, é claro):
export SSH_AUTH_SOCK=/tmp/ssh-crYQh24AMq/agent.3964
ssh-add -l
Parece funcionar muito bem, mas ainda requer um sshd local.
O que seria realmente ótimo é ter um agente compatível com o openssh que se comunique diretamente com o keystore do concurso, mas isso não acontecerá a menos que alguém grave uma besta. Eu olhei para ele muitas luas atrás, e parecia mais problema do que valeu a pena, dado que esta solução é bastante fácil.
Você poderia seguir o outro caminho e usar o puttycyg?
[ link
Dessa forma, você tem o putty como seu terminal cygwin.
eu sugeriria a mesma coisa (use putty) mas apenas use putty como ele integra melhor com pagent e plink, eu uso ele junto com o msysgit mas use o bash do git fornecido pelo msysgit e ele vai bem, é um pouco tedioso mudar entre consoles, mas a separação também pode ser boa
Outra maneira de fazer isso.
Adicione esta linha no topo de .bash_profile
exec ssh-agent /usr/bin/bash
Em seguida, adicione suas chaves na parte inferior do .bashrc
ssh-add ~/.ssh/myprivate