数時間の調査の後、ついに私のコンピュータがgnome ssh-askpassを使って私のキーをもう要求しない理由を見つけました。シンプルだが、それを把握するのに長い時間がかかった。なぜなら…まあ…同様の問題を抱えている人のほとんどは、まったく異なる理由でこれを行います(例えば、ssh-agentが実行されていません)。
私の場合、下にキーが多すぎてサブディレクトリを~/.ssh
除いてすべて移動しました。これは、次のようにコマンドラインオプションのみを使用して特定のシステムにアクセスするのに適しています。id_rsa
~/.ssh/other_keys
-i
ssh -i ~/.ssh/other_keys/topsecret domain
それ以外の場合は、ディレクトリ内のすべてのキーをテストしないようにSSHに指示する必要があります~/.ssh
。なぜなら、そのようなことが起こると、試行回数がなくなるからです。一般的に3~5回程度です。
この問題を解決するには、次のこともできます。
ssh -i ~/.ssh/topsecret -o 'IdentitiesOnly yes' domain
これには多くの入力が必要です(たとえば、設定ファイルに追加することはできますが、クイックテストのためには面倒です)。
だから...これはすべてそこに接続したいときにうまく機能しますが、ssh
今アクセスするたびにssh-agent
正しくssh-askpass
設定されています。
それでは…何が与えられますか?
とにかく実行すると、パスワードを要求せずにssh-add
自動的にキーを追加します。ssh-agent
その後、キーを使用する必要があるとすぐにssh-askpass
パスワードを入力し、続行できるキーが自動的に開始されます(ただし、環境にはその名前の変数は必要ありません)。
ただし、キーがサブディレクトリに定義されている場合は見つからないため追加されず、ssh-agent
使用時にssh
サブディレクトリに見つからないため、ssh-agent
コントロールに直接追加されます。 Taichungでパスワードを尋ねますが、GNOMEポップアップには表示されません。
キーをすぐ下に戻すと~/.ssh
問題は解決しますが、背面が破損しているため、良い解決策ではありませんssh -i ...
。 (sshに1つのキーのみを使用するように指示して別の問題を解決するオプションがあることを知っていますが、コマンドラインで指定されたキーを使用して-o ...
sshを最初にテストする必要があるため、両方の問題が解決されると思います。 。
だから...次のコマンドを実行すると:
ssh-add -D
ssh-agent
(1)現在存在するすべてのキーを削除し、(2)パスワードを要求せずに下のすべてのキーを再インストールします(~/.ssh
少なくともコマンドを実行するときはありませんssh-add
)。
すべてのパスワードを一度に入力せずに別のディレクトリ(たとえば、私のサブディレクトリ)ssh-add
にあるキーを追加するように要求する方法(または他のツール)はありますか?~/.ssh/other_keys
答え1
完全な答えではありませんが、マニュアルページを見ると、ssh-agent
次の段落があります。
エージェントには最初は秘密鍵はありません。追加キーを使用してください
ssh-add(1)
。引数なしで実行すると、ssh-add(1)
ファイル~/.ssh/id_rsa
と~/.ssh/id_dsa
。 IDにパスワードがある場合は、端末(ある場合)または小さなX11プログラム(X11で実行されている場合)からパスワードを要求してください。どちらも該当しない場合、認証は失敗します。その後、ID をエージェントに送信します。複数の ID をエージェントに保存でき、エージェントはこれらの ID の 1 つを自動的に使用できます。現在エージェントが保持しているIDを表示します。~/.ssh/id_ecdsa
~/.ssh/identity
ssh-add(1)
ssh-add -l
したがって、現在ロードされているキーを確認できssh-agent
、デフォルトではその段落で説明されているキーがロードされます。
答え2
AddKeysToAgent
この場合、このオプション(最新のOpenSSHバージョンで利用可能)が役に立ちますか?
ssh-agent(1) 実行にキーを自動的に追加するかどうかを指定します。このオプションをyesに設定し、キーがファイルからロードされると、ssh-add(1)を介して同様に、キーとそのパスワードがデフォルトの有効期間としてエージェントに追加されます。このオプションが質問に設定されている場合、ssh(1)はキーを追加する前にSSH_ASKPASSプログラムを使用して確認を要求します(詳細はssh-add(1)を参照)。このオプションがOKに設定されている場合は、ssh-add(1)に-cオプションが指定されているかのように、キーを使用するたびに確認する必要があります。このオプションを no に設定すると、エージェントにキーは追加されません。パラメーターは、はい、確認、質問、またはいいえ(デフォルト)でなければなりません。