Могу ли я заставить SSH использовать программу askpass, даже если она была запущена с терминала?

Windows загружалась в режиме Legacy на материнской плате UEFI, что неверно. Чтобы загрузчик Linux увидел Windows, он должен быть того же типа. Переустановка Windows 10 заставила ее загрузиться в режиме UEFI, устранив проблему с загрузчиком. Поскольку Windows 10 загружается в режиме UEFI, лучше использовать GPT, а не MBR. Ни один из перечисленных разделов не является системным разделом EFI. После переустановки Windows был создан новый раздел, четко обозначенный как раздел EFI.

9
27.03.2016, 23:34
2 ответа

Согласно руководству по SSH (man ssh):

Если ssh не имеет связанного с ним терминала, но DISPLAY и SSH_ASKPASS установлены, он выполнит программу, указанную SSH_ASKPASS.

Поэтому вам нужно отключить терминал (например, добавив трубу) и убедиться, что DISPLAY не установлен (если вы хотите использовать терминал для вашей парольной фразы).

Простой пример:

echo foo | SSH_ASKPASS=/my/cmd DISPLAY= ssh ...

То же самое с ssh-add:

$ echo foo | SSH_ASKPASS=/my/cmd DISPLAY= ssh-add id_rsa
ssh_askpass: exec(/my/cmd): No such file or directory
3
27.01.2020, 20:07

В OpenSSH 8.4 вы можете установить для переменной среды $SSH_ASKPASS_REQUIREзначение force. Цитирование ssh (1)справочная страница:

 SSH_ASKPASS_REQUIRE   Allows further control over the use of
                       an askpass program.  If this variable
                       is set to "never" then ssh will never
                       attempt to use one.  If it is set to
                       "prefer", then ssh will prefer to use
                       the askpass program instead of the TTY
                       when requesting passwords.  Finally, if
                       the variable is set to "force", then
                       the askpass program will be used for
                       all passphrase input regardless of
                       whether DISPLAY is set.

Поскольку OpenSSH 8.4 был выпущен 27 сентября 2020 г. вам придется немного подождать, чтобы эта функция стала доступной в любом основном дистрибутиве Linux.

5
06.08.2020, 18:32

Теги

Похожие вопросы