永遠に残る識別ファイルに対してssh - addを実行できますか? -L を追加)
問題は、Amazon サーバーに github にレポがあるさまざまなプロジェクトがあることです。
これで、ユーザー A はプロジェクト A に対してのみアクセス権を持ち、B はプロジェクト Bに対してのみアクセス権を持って いるというユーザーに基づいて、レポのそれぞれにアクセス権があります。
そのアクセス権を (github で) 設定すると、各ユーザーはそれぞれのプロジェクトに対してのみ git 操作 (git fetch、git push など) を実行できるようになります (これが必要です)。
今私が欲しいのは、ユーザーがそれぞれのプロジェクトで git 操作を実行するときです。ssh-agentがアカウント内のすべての ssh-keys を取得し、その特定のユーザーに一致するものを探します
ノート
各 ssh-key にはフレーズ (所有する各ユーザーが知っている一意の秘密) が関連付けられており、git 関数を実行するときに入力するように求められます。
これを達成するために私たちは
ssh-add /root/.ssh/A
また
ssh-add /root/.ssh/B
ただし、前述のように、これはアクティブな ssh-sessionの間のみにとどまり、終了するか、サーバーとの新しいssh セッションを作成すると、ssh-add 情報が失われます。ssh-add -Lを実行することで見つけることができます
また、この質問で説明されているように、.ssh/config で IdentityFile を定義しようとしました。
このようなもの
Host github.com
Hostname github.com
User git
IdentityFile /root/.ssh/A
Host github.com
Hostname github.com
User git
IdentityFile /root/.ssh/B
これは1人のユーザーに対してのみ機能します(「A」で機能する場合と機能しない場合があります。「B」でも同じです)
この隔離は達成できるのでしょうか、それとも私は少し野心的すぎるように聞こえますか?
ありがとう