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_SOCK
。ssh
シェルから環境を継承します。echo "$SSH_AUTH_SOCK"
シェルで実行すると、ソケットパスが表示されます。
ssh-add -l
またはを実行して、ssh-add -L
現在のエージェントが誰を代表しているかを確認します。
ブローカーでIDの削除を使用できますが、ssh-add -d /path/to/key
そのためには、削除するIDの(プライベートまたは公開)キーファイルパスを指定する必要があります。削除したいIDを指定するファイルがもう存在しない場合は、すべてのIDを削除してから削除したくないssh-add -D
IDを再度追加することをお勧めします。を実行してキーを(再)追加できます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 …
これは、プロキシの状態を変更せずに後でプロキシを使用する機能を失うことなく、要求時にプロキシを無視したい場合に便利です。