Pergunta

Tenho o gitosis instalado em um servidor pessoal e configurei-o de forma que minha máquina ubuntu em que estou agora possa acessar o repositório a partir da linha de comando sem problemas com

git clone gitosis @ myservername: /myreponame.git

Ele pede minha senha longa para minha chave rsa e, em seguida, segue e funciona conforme o esperado.

No entanto, estou tentando usar o EGit com o eclipse (novamente, no Ubuntu) e não consigo extrair do repositório. Eu o configurei para puxar aquele repositório exato, gitosis @ myservername: /myreponame.git e ele prossegue para encontrar myservername e minha chave pública pessoal (ele fornece o caminho do arquivo para ele também, então eu sei que é o mesmo) e pede por minha senha longa. No entanto, ele nunca aceita minha frase secreta (nota: tenho quase certeza de que está rejeitando a frase secreta e não a chave em si, pois a rejeita imediatamente e não diz não autorizado, além do fato de a mesma chave funcionar na CLI). Tenho a impressão de que o motivo de não funcionar é porque está tentando desbloquear a chave pública com a senha do usuário gitosis e que não sendo meu nome de usuário na máquina local, apesar do fato de desbloquear um arquivo de chave pública como um particular o usuário não faz sentido.

Sei que estou digitando a frase secreta corretamente porque funciona a partir da CLI e até mudei a frase secreta com sucesso apenas para ter 300% de certeza.

Alguém pode esclarecer esse problema?

Foi útil?

Solução

Santo guacamole - eu resolvi sozinho. Compartilhando minhas soluções, pois parece que muitas pessoas tiveram o problema.

Fazendo pesquisas, encontrei alguém com um problema muito semelhante - a dica foi descobrir que isso obviamente não tem nada a ver com gitose, mas que Eclipse se recusa a aceitar minha senha longa.

De acordo com este relatório de bug, a implementação ssh que EGit usa por padrão não consegue lidar com as chaves ssh criptografadas com qualquer coisa que não seja 3DES, mas não verifica a criptografia e então falha como se a frase-senha errada tivesse sido digitada.

O seguinte comentário sobre o relatório de bug funcionou para mim: https://bugs.eclipse.org/bugs/show_bug.cgi?id= 326526 # c9

Diz para definir apenas uma variável de ambiente GIT_SSH, que EGit agora honra, para uma que possa lidar com a criptografia de chave que você está usando, no meu caso, eu apenas defini para / usr / bin / ssh com

exportar GIT_SSH= / usr / bin / ssh

E então abra o eclipse.

Você também pode adicionar isto em algum lugar que será executado sempre que você fizer login. Para mim no Ubuntu 11.04, adicionei a linha de exportação ao meu arquivo ~ / .gnomerc (que ainda não existia) e agora é definida toda vez que eu faço login.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top