サーバーに接続するときに使用される一部のSSHキーを削除する方法

サーバーに接続するときに使用される一部のSSHキーを削除する方法
ssh -vv -D 1618 -C -N someserver

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/ubuntu/.ssh/id_rsa RSA SHA256:xxx agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: [email protected] RSA SHA256:180K+xxx agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: [email protected] ED25519 SHA256:xxxy agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: x-production-eb-key-pair RSA SHA256:xxxy+1ZNflh/xxxy agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: [email protected] RSA SHA256:/yG/xxxz+2eWo agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: [email protected]  ED25519 SHA256:xxxv agent
debug2: we sent a publickey packet, wait for reply
Received disconnect from 10.240.0.1 port 22:2: Too many authentication failures

上記のキーのいくつかを削除しましたが、~/.ssh/*まだ人々が試しています。どのようにこれが可能ですか?

ベストアンサー1

SSH エージェントが実行中であるため、キーを引き続き使用できます。明らかに複数の秘密鍵IDが追加されました。追加されたIDはメモリに保持されます。通常のファイル(ディスクの秘密キーなど)から追加されたIDは、後でそのファイルを使用する必要はなく、他のシステムでキーを「借りる」こともできます。はい)。ファイルシステムから特定のキーを削除しても、すでにIDがロードされているSSHエージェントには影響しません。

agent行末の単語は次のとおりです。

debug1: Offering public key: /home/ubuntu/.ssh/id_rsa RSA SHA256:xxx agent

ユーザーを認証しようとすると、ファイルではなくプロキシが関連していることが示されます。…/.ssh/id_rsaこれは、IDを追加するときに使用されるファイルのみを意味し、ファイルがまだ存在する場合も存在しない場合もあり、重要ではありません。

このようなプログラムはsshソケットを介してプロキシと通信できます。という環境変数を確認してソケットパスを見つけることができますSSH_AUTH_SOCKsshシェルから環境を継承します。echo "$SSH_AUTH_SOCK"シェルで実行すると、ソケットパスが表示されます。

ssh-add -lまたはを実行して、ssh-add -L現在のエージェントが誰を代表しているかを確認します。

ブローカーでIDの削除を使用できますが、ssh-add -d /path/to/keyそのためには、削除するIDの(プライベートまたは公開)キーファイルパスを指定する必要があります。削除したいIDを指定するファイルがもう存在しない場合は、すべてのIDを削除してから削除したくないssh-add -DIDを再度追加することをお勧めします。を実行してキーを(再)追加できますssh-agent /path/to/key

バラよりman 1 ssh-addもっと学ぶ。

ssh空または設定なしで実行すると、SSH_AUTH_SOCKエージェントと通信できません。

# empty
SSH_AUTH_SOCK= ssh …
# unset
env -u SSH_AUTH_SOCK ssh …

これは、プロキシの状態を変更せずに後でプロキシを使用する機能を失うことなく、要求時にプロキシを無視したい場合に便利です。

おすすめ記事