Posso usar o PLink e o Pageant com o ssh do Cygwin?

26

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.

    
por Jerph 24.12.2009 / 10:31

6 respostas

17

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.

    
por 11.09.2010 / 18:32
11

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!

    
por 17.03.2010 / 13:19
5

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.

    
por 29.12.2009 / 15:47
2

Você poderia seguir o outro caminho e usar o puttycyg?

[ link

Dessa forma, você tem o putty como seu terminal cygwin.

    
por 29.12.2009 / 12:45
0

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

    
por 29.12.2009 / 14:40
0

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
    
por 11.08.2011 / 17:06