問題:私は20〜30 ssh-agent
人のID を持っています。Too many failed authentications
SSHでは通常、20の異なるキーでログインを試行できないため、ほとんどのサーバーはによる認証を拒否します。
現時点では、IdentityFile
およびIdentitiesOnly
ディレクティブを使用して、すべてのホストのIDファイルを手動で指定しているため、SSHは1つのキーファイルのみを試行し、機能します。
残念ながら、これは元のキーが利用できなくなるとすぐに機能を停止します。ssh-add -l
すべてのキーファイルの正しいパスが表示され、それらはのパスと一致しますが.ssh/config
、機能しません。どうやら、SSHはファイル名ではなく公開鍵の署名によってインデンティティを選択します。つまり、SSHが公開鍵を抽出できるように、元のファイルが使用可能である必要があります。
これには2つの問題があります。
- キーを保持しているフラッシュドライブを取り外すとすぐに機能しなくなります
- 鍵ファイルがリモートホストで利用できないため、エージェント転送が役に立たなくなる
もちろん、公開鍵を自分のIDファイルから抽出して自分のコンピューターに保存したり、普段ログインしているすべてのリモートコンピューターに保存したりすることもできます。しかし、これは望ましい解決策のようには見えません。
必要なのは、ファイル名でssh-agentからIDを選択する可能性です。これにより、SSHを実行したリモートホスト上でも.ssh/config
、を使用して-i /path/to/original/key
、またはを渡すことで、適切なキーを簡単に選択できます。フルパスを指定する必要がないように、キーに「ニックネーム」を付けることができればさらに良いでしょう。
authorized_keys
使用されるキーに応じて、シェルへの直接アクセスを許可せずにさまざまなコマンドを実行するファイルです。