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検索の試みが原因である可能性があります...)。イライラして別のことをして接続試みを忘れてしまいました。 (金魚の集中力に関する冗談を挿入してください。)最終的に戻ってきたときにプロンプトがタイムアウトし、正しいパスワードを入力しても接続が失われました。
キーは1つのソリューションですが、私が使用しているすべてのシステムに共通のSSHキーがあるわけではありません。しかし、私は主にUbuntuシステムを使用していますが、UbuntuにはデフォルトでSSH Askpassプログラムがインストールされています。
ところでクエリが浮かぶとすぐに気づきます。私ができるだけなら、これは私にとって十分な妥協です。
ベストアンサー1
OpenSSH 8.4では、$SSH_ASKPASS_REQUIRE
環境変数をforce
.referenceに設定できます。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 リリースで2020年9月27日主要なLinuxディストリビューションでこの機能を使用できるようにするには、しばらく待つ必要があります。