ssh-addはssh_configファイルの宣言を尊重しますか?

ssh-addはssh_configファイルの宣言を尊重しますか?

背景

4096ビットRSAキーペアを使用して、マイサーバーへのアクセスを認証します。ssh_config私が参照しているファイル~/.ssh/config/etc/ssh/ssh_config

私の外観は次のとおりです~/.ssh/config

Host gg-root
    HostName 172.47.95.122

Host ss-root
    HostName 172.47.95.123

# Common for my servers
Host gg-root ss-root
    User root
    Port 32001
    IdentitiesOnly yes
    IdentityFile ~/.ssh/id_rsa_bull

# Common for all
Host *
    AddKeysToAgent yes

これで、次のコマンドを使用してSSH経由でサーバーに接続できます(追加の構成は不要)。

ssh gg-root
ssh ss-root

問題は、~/.ssh/id_rsa_bull他のアプリケーション(SFTPで使用するFileZillaなど)が簡単に使用できるように、システムのSSHエージェントに秘密鍵を追加する必要があることです。 (特にFileZillaに暗号化されていない秘密鍵が必要であることは気に入らないからです.ppk。)

だから私は毎回このコマンドを実行します:

ssh-add ~/.ssh/id_rsa_pepper

またはこれを私の中に入れてください~/.profile

ssh-add ~/.ssh/id_rsa_pepper > /dev/null 2>&1

質問

システムにキーを追加するSSHエージェントを使用するときにssh-addファイルに書き込んだ宣言に従いますか?具体的にのみ使用されることをssh_config保証しますか?~/.ssh/id_rsa_pepper172.47.95.{122,123}

私が読んだ内容についての私の解釈によれば、そうすべきだと信じています。私が間違っている場合は、システムのSSHエージェントに秘密鍵を追加する方法を教えてください。ここで、秘密鍵は指定されたホストに固有のものですか?


編集:答えに基づいて

~/.ssh/config今私の姿はこんな感じです。

Host gg-root
    HostName 172.47.95.122

Host ss-root
    HostName 172.47.95.123

# Common for my servers
Host gg-root ss-root
    User root
    Port 32001
    IdentityFile ~/.ssh/id_rsa_bull

# Common for all
Host *
    AddKeysToAgent yes
    IdentitiesOnly yes

答え1

ssh-add構成ファイルを尊重しません。エージェントにキーを追加するだけです。

クライアントは、sshまたはに接続すると、設定のためにキーを使用しようとします。エージェントがキーを使用できる場合はそこで使用し、それ以外の場合はファイルで使用します(キーに関連付けられているパスワードがある場合はパスワードを入力する必要があります)。~/.ssh/id_rsa_bullgg-rootss-rootIdentityFile

プロキシのキーは、次に接続するときにも使用されます。他のホストIdentityFile特定が設定されていません~/.ssh/config。これは、構成が特定のホストを認証するために使用されるキーを制限しますが、表示される構成は、「ブルキー」が他のホストで使用されるのを防ぎません。

関連情報