通常、複数の Git サーバーにプッシュするために異なる SSH キーを生成します。
今日、私の同僚は、id_rsa.pub
GitHub と LAN GitLab サーバーの両方にプッシュするために同じファイルを使用していることを教えてくれました。
1 つの SSH キーを使用して、異なる Git リモートにプッシュできますか?
異なるリモート サーバーに対して複数の SSH キーを生成する必要がある理由は何ですか?
両方の質問に対処するには:
Q1. 1 つの SSH キーを使用して、異なる Git リモートにプッシュできますか?
id_rsa.pub
はい、1 つまたは別の名前の公開鍵をすべての開発ワークステーションで秘密鍵と共に使用していると仮定すると、その 1 つの公開鍵を複数の Git ホストにアップロードするだけで、現在複数のホストから取得しているのと同じアクセスが可能になります。キー。
これにより、複数のキーを管理する必要がなくなり、サーバーと通信するたびに適切なキーに接続する必要がなくなり、本番環境が少し楽になります。
複数のワークステーション (つまり、自宅とオフィス) を使用している場合は、各ローカル ワークステーションで同じ公開/秘密キー ペアを使用することも選択できます。これにより、追跡する必要があるさまざまなキーの数がさらに減少します。
Q2. 異なるリモート サーバーに対して複数の SSH キーを生成する目的は何ですか?
最初の質問への回答が示すように、複数のリモート Git リポジトリ サーバーに対して複数のキーを生成する必要がある理由はありません。
ただし、 Jan Hudecが述べたように、Git リポジトリごとに異なるキーを使用することを選択する理由は、セキュリティまたは管理制御のレイヤーを追加するためです。
Git での SSH の使用に関する詳細情報は、BitbucketおよびGitHubで入手できます。
はい、各サーバーに公開鍵のコピーがある限り、複数のサーバーに同じ公開/秘密 ssh キー ペアを使用できます。
ssh では、秘密鍵はクライアント上のものであり、ログインしたいサーバーに公開鍵をプッシュします。
通常、一部のスクリプトで使用されるパスフレーズのないキーごとに個別のキーを生成して、キーが盗まれた場合の被害を最小限に抑えます。
しかし、手動で使用するために複数の ID を生成する正当な理由はわかりません。id_rsa
私が手動で使用するものはすべて、通常は ssh-agent でロック解除された同じ passphrase-protected を常に使用します。
同様の理由で個別のキーを使用することもできますが、すべての秘密キーが同じディスクの同じディレクトリに存在するため、それぞれを異なるパスフレーズで保護しない限り意味がありません。
もちろん、別のワークステーションでは、別の秘密鍵を使用する必要がありますが、そのマシンから行われるすべての操作に再び使用されます。