2015-04-29 3 views
1

Когда я пытаюсь использовать git на удаленной машине (через ssh), он жалуется, что не смог подключиться к моему дисплею. Поскольку я использую это ssh-соединение в среде экрана с разных компьютеров, я не могу использовать пересылку X11. Однако мне не нужен графический интерфейс для ввода пароля.Использование git без переадресации X11

Команда:

$ мерзавец тянуть

подключить локальный порт 6010: Соединение отклонено

(гном-SSH-askpass: 7316): Gtk-WARNING **: не могу открыть дисплей: локальный: 36,0

Версия:

$ мерзавец --version

мерзавец версия 1.7.1

Как я могу обойти необходимость для графического соединения здесь?

+0

Что произойдет, если вы выполните команду ssh без git на этой машине? – hek2mgl

+1

Это возможно, и меня спрашивают пароль в терминале – MrD

ответ

1

Прочтите руководство пользователя gitcredentials(7) (вы можете запустить git help credentials, чтобы прочитать его локально).

В нем объясняется, как Git управляет проблемой получения ваших учетных данных.

А именно, использование переменной окружения GIT_ASKPASS может вас заинтересовать.

В качестве альтернативы вы можете позволить своему SSH-клиенту перенаправить соединение с вашим местным агентом (вещью, которая хранит ваши ключи), чтобы Git, работающий в удаленном сеансе, мог использовать те же идентификаторы. Из coure используйте это только в случае применимости (то есть идентичности одинаковы). В этом случае SSH, предположительно, не попросит пароль, так как он будет обслуживаться агентом. Прочтите справочную страницу ssh_config(5) и найдите вариант конфигурации ForwardAgent.

Чтобы повторить, корень вашей проблемы, похоже, заключается в том, что SSH должен запросить у вас ваши учетные данные, и вы должны убедиться, что это не так. Следовательно, возможно, решение так же просто, как запуск ssh-agent в удаленном сеансе и ssh-add - придание ему необходимых идентификаторов перед запуском Git или просто обеспечение того, что переменные среды и настройки Git, связанные с получением учетных данных для SSH, имеют значащие значения.

+0

git help credentials дает мне: нет ручного ввода для gitcredentials. Экологическая переменная GIT_ASKPASS не существует/пуста. – MrD

+0

Хорошо, я прочитал его через Интернет. Вызов 'export SSH_ASKPASS =" "; проблема с git pull' решает проблему. – MrD