Я работал над своим проектом удаленно через командную строку на машине, на которую у меня нет прав администратора, и после запуска git push origin master
я получаю следующее сообщение об ошибке:
(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:
Мой .git/config
файл имеет следующее содержимое:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://username@github.com/username/repository.git [branch "master"] remote = origin merge = refs/heads/master
Я получал ошибку 403 ранее. После комментария здесь , я кладу имя перед знаком @ в удаленном URL и с тех пор я получаю сообщение об ошибке Gtk.
Когда я вхожу в машину с помощью ssh -X
и пытаюсь нажать, я получаю следующую ошибку:
X11 connection rejected because of wrong authentication.
(gnome-ssh-askpass:31922): Gtk-WARNING **: cannot open display:localhost:10.0
Если я изменю URL-адрес пульта дистанционного управления на git@github.com:username/repository.git
, то ошибка:
ssh: connect to host github.com port 22: Connection timed out
fatal: The remote end hung up unexpectedly
Вы знаете, как это исправить?
git
version-control
github
ssh
Джон Манак
источник
источник
git push origin master
, так что я не знаю, как применить то, что вы говорите?git@github.com:username/repo.git
либо «https://github.com/username/repo.git
Но вы используете смесь обоих».ssh -X
, но это тоже не помогло. Смотрите обновленный вопрос выше.Ответы:
Я наконец-то нашел решение проблемы. Как это было описано здесь , я запустил следующую команду в терминале:
и тогда бег
git push origin master
работает так, как должен. Вы также можете добавить строку в свой.bashrc
файл.источник
error: RPC failed; result=22, HTTP code = 417
Я недавно имел дело с этим поведением на машине RedHat 5, где наша версия Git была 1.7.4.1.
У меня не было высокой степени уверенности,
unset SSH_ASKPASS
которая не имела бы непредвиденных последствий, поэтому я хотел посмотреть, есть ли другое решение.Я не могу сказать наверняка, но кажется, что патч для этой проблемы был в разработке примерно в то же время, когда была опубликована наша версия Git. Таким образом, мне показалось разумным надеяться, что более свежая версия исправит поведение.
И это действительно так. Обновление до ветки 1.8 Git решило проблему. Сообщение об ошибке по-прежнему отображается по какой-то странной причине, но вы правильно запросили пароль и можете продолжить.
источник
Ни один из этих ответов не сработал для меня (ssh'ing через Cygwin под Windows 10 на сервер RHEL 6.8 и попытка клонировать репозиторий github.com из коробки RHEL), так что я сделал клонирование через ключ SSH, а не имя пользователя HTTPS / пароль. например, я использовал git@github.com: MyUsername / myproject.git, а не https url. Я также соответствующим образом загрузил свой открытый ключ в Github. Этот метод работал нормально.
Примечание. Из вышеперечисленных решений я фактически не пробовал обновлять ветку git до версии 1.8.
источник
Вы также можете попытаться войти с помощью ssh -Y на удаленный сервер, чтобы диалоговое окно могло отображаться графически.
Как и OP, вход через ssh -X не работал. При попытке нажать, сервер просто повторил то же сообщение об ошибке -
(gnome-ssh-askpass:29241): Gtk-WARNING **: cannot open display:
отправки что и при входе через ssh без пересылки X11. Это немного отличается от того, что сообщал OP, когда он пытался использовать ssh -X, поскольку его сообщение об ошибке немного изменилось по сравнению с использованием ssh.Тем не менее, для меня, однажды войдя в систему с помощью ssh -Y: ошибки не было, всплыло диалоговое окно с паролем, я ввел пароль, и GitHub принял push.
Как предупреждение, ssh -Y может открыть проблемы безопасности, когда вы рассматриваете удаленный сервер как доверенного клиента ( /ubuntu/35512/what-is-the-difference-between-ssh-y- доверенный-x11-forwarding-and-ssh-xu ). Так что будьте осторожны при использовании.
источник