コマンドラインパラメータのみ

コマンドラインパラメータのみ

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ディストリビューションでこの機能を使用できるようにするには、しばらく待つ必要があります。

おすすめ記事