Estou trabalhando no meu projeto remotamente através da linha de comando em uma máquina à qual não tenho direitos de administrador e, após a execução git push origin master
, recebo a seguinte mensagem de erro:
(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:
Meu .git/config
arquivo tem o seguinte conteúdo:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://[email protected]/username/repository.git [branch "master"] remote = origin merge = refs/heads/master
Eu estava recebendo o erro 403 anteriormente. Após o comentário aqui , coloquei meu nome de usuário antes do sinal @ na URL remota e, desde então, recebo o erro Gtk.
Quando entro na máquina usando ssh -X
e tento enviar, recebo o seguinte erro:
X11 connection rejected because of wrong authentication.
(gnome-ssh-askpass:31922): Gtk-WARNING **: cannot open display:localhost:10.0
Se eu alterar o URL do controle remoto para [email protected]:username/repository.git
, o erro será:
ssh: connect to host github.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly
Você sabe como consertar isso?
git
version-control
github
ssh
John Manak
fonte
fonte
git push origin master
, então não sei como aplicar o que você está dizendo?[email protected]:username/repo.git
ouhttps://github.com/username/repo.git
Mas você está usando uma mistura dos dois.ssh -X
, mas isso também não ajudou. Veja a pergunta atualizada acima.Respostas:
Finalmente descobri uma solução para o problema. Como foi descrito aqui , executei o seguinte comando no terminal:
e, em seguida, a execução
git push origin master
funciona da maneira que deveria. Você também pode adicionar a linha ao seu.bashrc
arquivo.fonte
error: RPC failed; result=22, HTTP code = 417
Recentemente, lidei com esse comportamento em uma máquina RedHat 5 em que nossa versão do Git era 1.7.4.1.
Eu não tinha um alto grau de confiança que
unset SSH_ASKPASS
não teria conseqüências não intencionais, então queria ver se havia outra solução.Eu não sabia ao certo, mas parece que um patch para esse problema estava em andamento na mesma época em que nossa versão do Git havia sido publicada. Então, pareceu-me que era razoável esperar que uma versão mais recente corrija o comportamento.
E de fato aconteceu. A atualização para a ramificação 1.8 do Git resolveu o problema. A mensagem de erro ainda é exibida por algum motivo estranho, mas a senha é solicitada corretamente e você pode continuar.
fonte
Nenhuma dessas respostas funcionou para mim (transferir via Cygwin no Windows 10 para um servidor RHEL 6.8 e tentar clonar um repositório github.com da caixa RHEL), então o que eu fiz foi clonar por uma chave SSH em vez do nome de usuário HTTPS / senha. por exemplo, usei [email protected]: MyUsername / myproject.git em vez do URL https. Também carreguei adequadamente minha chave pública no Github. Este método funcionou bem.
Nota: Das soluções acima, na verdade, eu não tentei atualizar para o ramo 1.8 do git
fonte
Você também pode tentar fazer login usando ssh -Y no servidor remoto para que a caixa de diálogo possa aparecer graficamente.
Como o OP, o login via ssh -X não funcionou. Ao tentar enviar por push, o servidor simplesmente repetiu a mesma mensagem de erro -
(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:
- como fazia no log via ssh sem encaminhamento X11. Esse é um comportamento um pouco diferente do relatado pelo OP ao tentar o ssh -X, pois sua mensagem de erro mudou um pouco ao usar o ssh.No entanto, para mim, uma vez logado usando ssh -Y: não houve erro, a caixa de diálogo de senha apareceu, digitei a senha e o GitHub aceitou o envio.
Como aviso prévio, o ssh -Y pode abrir problemas de segurança enquanto você trata o servidor remoto como um cliente confiável ( /ubuntu/35512/what-is-the-difference-between-ssh-y- confiável-x11-encaminhamento-e-ssh-xu ). Portanto, tenha cuidado ao usá-lo.
fonte