Заставьте SSH запросить мою секретную фразу в оболочке (не в окне)

9

Когда я использую SSH в первый раз после загрузки, он запрашивает у меня секретную фразу для разблокировки моего личного ключа (что я и ожидаю). Но это происходит в окне, а не в оболочке (аналогично gksudoVS sudo). Это разочаровывает (я должен использовать мою мышь, чтобы щелкнуть окно) и, во-вторых, иногда вызывает ошибку (я использую терминал Guake, иногда в полноэкранном режиме, и в этом случае я не могу сосредоточиться на окне SSH, и я вынужден перезапустить X ).

Итак, мой вопрос: есть ли способ заставить SSH запрашивать мой пароль для секретного ключа в командной строке, вместо того, чтобы выдавать окно?

Адриен Люкс
источник
ENV SSH ... сделал бы это, но это теряет ssh-агента, так что это не совсем правильно. Может быть, кто-нибудь может выяснить остальное.
Джошуа

Ответы:

7

Возможно, у вас установлен один из *-askpassпакетов и переменная окружения SSH_ASKPASSустановлена ​​соответствующим образом; см. ssh (1) . Сброс переменной, например, в вашем ~/.bashrc, или удаление пакета должны помочь.

См. Также Скажите SSH, чтобы использовать графическое приглашение ключевой фразы для обратной проблемы и некоторые подсказки об окружающей среде.

Мерфи
источник
1
Скорее всего, это не так. SSH всегда запрашивает парольную фразу в TTY, если только у нее ее нет (если вы в игре, я уверен, что она у вас есть). Скорее всего, подсказка получена из gnome-keyring(скриншот ОП подтвердил бы это), как объяснено в моем другом ответе.
Jakuje
Действительно, gnome-askpassокно не выглядит как обычно: askpass читает только «Введите вашу пароль OpenSSH» с текстовым полем. Я попытался сделать снимок экрана, но он не работает: окно фиксирует ключевые события (та же проблема, которая вызывает ошибку с полноэкранным guake). Я сделаю снимок, если это будет необходимо.
Адриен Люксей
@AdrienLuxey Попробуйте Gimp, он может сделать скриншот активного окна после тайм-аута. Но что еще более важно вы должны проверить дерево ps, чтобы увидеть, кто / что вызывает окно.
Мерфи,
3

У вас есть закрытый ключ, добавленный в gnome-keyringили что-то еще, что вызывает приглашение GUI для ключевой фразы. Вы не можете избавиться от этого в этой настройке.

Но есть возможность использовать обычный ssh-agent(удалив gnome-keyringили запустив ssh-agentпосле этого) и AddKeysToAgent yesпараметр в вашем ssh_config, что приведет к ожидаемому поведению - после загрузки агент не будет иметь никаких ключей, и они будут автоматически добавлены после первое использование.

Подобные случаи объясняются в смежных вопросах:

Jakuje
источник