Problema com gitose e EGit
-
27-10-2019 - |
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?
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.