Pracowałem nad swoim projektem zdalnie za pomocą wiersza poleceń na komputerze, do którego nie mam uprawnień administratora, a po uruchomieniu pojawia git push origin master
się następujący komunikat o błędzie:
(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:
Mój .git/config
plik ma następującą zawartość:
[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
Wcześniej otrzymywałem błąd 403. Idąc za komentarzem tutaj , umieszczam swoją nazwę użytkownika przed znakiem @ w zdalnym adresie URL i od tego czasu otrzymuję błąd Gtk.
Kiedy loguję się do komputera za pomocą ssh -X
i próbuję push, pojawia się następujący błąd:
X11 connection rejected because of wrong authentication.
(gnome-ssh-askpass:31922): Gtk-WARNING **: cannot open display:localhost:10.0
Jeśli zmienię adres pilota na [email protected]:username/repository.git
, to błąd wygląda tak:
ssh: connect to host github.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly
Czy wiesz, jak to naprawić?
git
version-control
github
ssh
John Manak
źródło
źródło
git push origin master
, więc nie wiem, jak zastosować to, co mówisz?[email protected]:username/repo.git
albohttps://github.com/username/repo.git
Ale używasz połączenia obu.ssh -X
, ale to też nie pomogło. Zobacz zaktualizowane pytanie powyżej.Odpowiedzi:
W końcu znalazłem rozwiązanie problemu. Jak zostało tutaj opisane , uruchomiłem w terminalu następującą komendę:
a wtedy bieganie
git push origin master
działa tak, jak powinno. Możesz także dodać linię do swojego.bashrc
pliku.źródło
error: RPC failed; result=22, HTTP code = 417
Niedawno miałem do czynienia z tym zachowaniem na maszynie RedHat 5, na której nasza wersja Gita to 1.7.4.1.
Nie miałem wysokiego stopnia pewności siebie,
unset SSH_ASKPASS
który nie miałby niezamierzonych konsekwencji, więc chciałem sprawdzić, czy istnieje inne rozwiązanie.Nie mogłem tego stwierdzić na pewno, ale wygląda na to, że prace nad poprawką tego problemu były wykonywane mniej więcej w tym samym czasie, gdy opublikowano naszą wersję Gita. Wydawało mi się więc, że można mieć nadzieję, że nowsza wersja poprawi to zachowanie.
I rzeczywiście tak było. Aktualizacja do gałęzi Git 1.8 rozwiązała problem. Komunikat o błędzie jest nadal wyświetlany z jakiegoś dziwnego powodu, ale pojawia się poprawna prośba o podanie hasła i możesz kontynuować.
źródło
Żadna z tych odpowiedzi nie zadziałała dla mnie (ssh'owanie przez Cygwin w Windows 10 na serwer RHEL 6.8 i próba sklonowania repozytorium github.com z pola RHEL), więc sklonowałem za pomocą klucza SSH, a nie nazwy użytkownika HTTPS / hasło. np. użyłem [email protected]: MyUsername / myproject.git zamiast adresu URL https. Odpowiednio przesłałem również mój klucz publiczny na Github. Ta metoda działała dobrze.
Uwaga: spośród powyższych rozwiązań faktycznie nie próbowałem uaktualnić do gałęzi git 1.8
źródło
Możesz także spróbować zalogować się za pomocą ssh -Y do zdalnego serwera, aby okno dialogowe było wyświetlane graficznie.
Podobnie jak w przypadku OP, logowanie przez ssh -X nie działało. Podczas próby wypychania serwer po prostu powtórzył ten sam komunikat o błędzie -
(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:
- tak jak podczas logowania przez ssh bez przekazywania przez X11. Zachowanie to różni się nieco od tego, co zgłosił OP, gdy próbował ssh -X, ponieważ jego komunikat o błędzie zmienił się nieznacznie od zwykłego użycia ssh.Jednak dla mnie, gdy zalogowałem się za pomocą ssh -Y: nie było błędu, pojawiło się okno dialogowe hasła, wpisałem hasło, a GitHub zaakceptował push.
Jako ostrzeżenie, ssh -Y może powodować problemy z bezpieczeństwem, ponieważ traktujesz serwer zdalny jako zaufanego klienta ( /ubuntu/35512/what-is-the-difference-between-ssh-y- trust-x11-forwarding-and-ssh-xu ). Dlatego uważaj, używając go.
źródło