Когда я использую SSH в первый раз после загрузки, он запрашивает у меня секретную фразу для разблокировки моего личного ключа (что я и ожидаю). Но это происходит в окне, а не в оболочке (аналогично gksudo
VS sudo
). Это разочаровывает (я должен использовать мою мышь, чтобы щелкнуть окно) и, во-вторых, иногда вызывает ошибку (я использую терминал Guake, иногда в полноэкранном режиме, и в этом случае я не могу сосредоточиться на окне SSH, и я вынужден перезапустить X ).
Итак, мой вопрос: есть ли способ заставить SSH запрашивать мой пароль для секретного ключа в командной строке, вместо того, чтобы выдавать окно?
Ответы:
Возможно, у вас установлен один из
*-askpass
пакетов и переменная окруженияSSH_ASKPASS
установлена соответствующим образом; см. ssh (1) . Сброс переменной, например, в вашем~/.bashrc
, или удаление пакета должны помочь.См. Также Скажите SSH, чтобы использовать графическое приглашение ключевой фразы для обратной проблемы и некоторые подсказки об окружающей среде.
источник
gnome-keyring
(скриншот ОП подтвердил бы это), как объяснено в моем другом ответе.gnome-askpass
окно не выглядит как обычно: askpass читает только «Введите вашу пароль OpenSSH» с текстовым полем. Я попытался сделать снимок экрана, но он не работает: окно фиксирует ключевые события (та же проблема, которая вызывает ошибку с полноэкранным guake). Я сделаю снимок, если это будет необходимо.У вас есть закрытый ключ, добавленный в
gnome-keyring
или что-то еще, что вызывает приглашение GUI для ключевой фразы. Вы не можете избавиться от этого в этой настройке.Но есть возможность использовать обычный
ssh-agent
(удаливgnome-keyring
или запустивssh-agent
после этого) иAddKeysToAgent yes
параметр в вашемssh_config
, что приведет к ожидаемому поведению - после загрузки агент не будет иметь никаких ключей, и они будут автоматически добавлены после первое использование.Подобные случаи объясняются в смежных вопросах:
источник