man ssh
говорит:
SSH_ASKPASS
If ssh needs a passphrase, it will read the passphrase from the
current terminal if it was run from a terminal. If ssh does not
have a terminal associated with it but DISPLAY and SSH_ASKPASS
are set, it will execute the program specified by SSH_ASKPASS
and open an X11 window to read the passphrase.
Я бы хотел, чтобы SSH использовал программу askpass, даже если она запускалась из терминала.
Иногда мне приходится подключаться к серверам, где появляется некоторая задержка при отображении запроса пароля (возможно, из-за проблем с сетью, может быть из-за попыток обратного поиска DNS,…). Я раздражаюсь и переключаюсь на что-то другое, и забываю о попытке соединения. (Вставьте шутку о концентрации внимания золотой рыбки.) Когда я, наконец, вернусь к ней, время ожидания подсказки истекло, и даже правильный пароль привел бы к закрытому соединению.
Ключи были бы одним решением, но не каждая система, которую я использую, имеет мои обычные ключи SSH. Однако я обычно использую системы Ubuntu, и в Ubuntu по умолчанию установлена программа SSH askpass.
Однако если всплывет окно «Аскпас», я сразу узнаю об этом. Это достаточно хороший компромисс для меня, если только я смогу заставить его работать.
/dev/tty
(LD_PRELOAD
?).