SSHエージェントが使用しているキーをどのように参照するのかわかりません。
次のコメントを含む4つのSSHキーがあります。
$ tail -n +1 *.pub
==> github_id_ed25519.pub <==
ssh-ed25519 ... mygithubusername@myhost
==> id_ecdsa.pub <==
ecdsa-sha2-nistp521 ... me@myhost
==> id_ed25519.pub <==
ssh-ed25519 ... me@myhost
==> id_rsa.pub <==
ssh-rsa ... me@myhost
SSHエージェントに次のキーを追加しました(確認-c
オプションを使用)。
$ ssh-add -c github_id_ed25519 id_ecdsa id_ed25519 id_rsa
Enter passphrase for github_id_ed25519 (will confirm each use):
Identity added: github_id_ed25519 (mygithubusername)
The user must confirm each use of the key
Identity added: id_ecdsa (id_ecdsa)
The user must confirm each use of the key
Identity added: id_ed25519 (me@myhost)
The user must confirm each use of the key
Identity added: id_rsa (id_rsa)
The user must confirm each use of the key
追加されたすべてのキーを一覧表示しました。
$ ssh-add -l
256 SHA256:... mygithubusername (ED25519)
521 SHA256:... id_ecdsa (ECDSA)
256 SHA256:... me@myhost (ED25519)
4096 SHA256:... id_rsa (RSA)
SSHエージェントは、キーを参照するために使用される名前をどこで取得しますか?
次を使用しているようです:
- キーファイルの完全な説明(1つのキーについて)
- キーファイルのコメントの一部(キー用)
- キーファイルのファイル名(両方のキー)
これを理解するのは難しいです。キーのファイル名を使用するのが最も簡単ですが、今はめちゃくちゃです。現在、SSHを使用してログインして確認ダイアログを受信するたびに、実際にどのキーを使用しようとしているのかを把握するのは困難です。
答え1
ssh-add
秘密鍵ファイルの説明を読んでください。失敗した場合は、追加のプロンプトの説明としてファイル名を使用します。
~からSSH-add.c:ファイルを追加():
if (comment == NULL || *comment == '\0')
comment = xstrdup(filename);
ファイル名をコメントとして使用するIDには、手動で編集しても、キーと一緒に元に保存されたコメントがないと思われます。人々鍵ファイルは後で作成されます。マニュアルssh-keygen
ページには、コメントを変更または追加できないことが記載されています。プライベート廃止予定のキー形式のキーファイル:
-c Requests changing the comment in the private and public key files. This
operation is only supported for RSA1 keys.