Githubでホストしている2つのgitリポジトリの内容を設定する必要があるサーバーがあります。サーバーのsshキーをデプロイキーとしてgithubの両方のプロジェクトに追加したいと思います。
残念ながら、Key is already in use
というエラーが表示されます。これは、 このgithubページ によると、複数のリポジトリにデプロイキーを追加できないためです。
私は本当に疑問に思います。なぜこれが問題なのですか? 1つのサーバーが複数のリポジトリにアクセスできないのはなぜですか?彼らがここで軽減しようとしているリスクは何ですか?
これは、リンクしたGitHubページに表示されている内容の正しい特性ではありません。実際、can多くの異なるGitHubリポジトリに同じsshキーを使用します。できないことは、多くのリポジトリで1つのsshキーを使用することですand「デプロイキー」と呼ばれるものとして使用することも、を使用することもできません。/samessh key as someotheruser。
ここで起こっていることは、GitHubのsshサーバーが着信キーを次の2つのタイプのいずれかに分類することです。
kramer65
(またはあなたのアカウント名が実際に存在するもの)であることを彼らがどのように知っているかです。「マシンユーザー」もいますが、それらはアカウントの一形態です。 GitHubがそれらを通常のアカウントキーと内部的に区別するかどうかさえわかりません。これらはデプロイキーのようなものではなくアカウントのようなものであるため、さまざまなリポジトリへのアクセスを許可できます。 (これはおそらくあなたが望むものです。)
私は本当に疑問に思います。なぜこれが問題なのですか? 1つのサーバーが複数のリポジトリにアクセスできないのはなぜですか?彼らがここで軽減しようとしているリスクは何ですか?
ここでは実際にはprotectedではありません。 GitHubに、この1つの追加キーを保存するだけで、(あなたの)便宜のために、アカウントを作成する手間をかけずに保存できます。 (彼らの)便宜のために、彼らはこの1つの追加キーを正確に1つのリポジトリに添付します。これにより、sshサーバー、または実際には、キーが認証された直後の「ログインシェル」が、許可された1つのリポジトリを検索できます。最初に「アカウント」テーブルを介して間接的にする必要はありません。着信キーがアカウント(またはマシンユーザー)キーである場合、それらのsshサーバー、またはそのすぐ後ろにあるものは、許可されたリポジトリのセットを見つけるために、このセカンダリテーブルを調べる必要があります。
詳細については、 https://developer.github.com/guides/managing-deploy-keys/#deploy-keys を参照してください。
(automaticallyにデプロイキーを許可できなかった理論的な理由はありません。それ以外の場合は匿名の「マシンユーザー」を作成し、各リポジトリに自動的に追加したり、そこから削除したりします。ただし、マシンユーザーはすでに存在しているため、themは何も購入せず、これと同じ機能を実行します。セキュリティ機能としてスピンを試みることができます。 「ねえ、そのキーはすでに私にとって何かを意味している」とあなたに知らせるからです...しかし、あなたがそのキーを持っていて、supposedがそのキーを持っていない場合、あなたはこれで、その1つのキーが実際にロックを解除するものを見つけることができます。これは、セキュリティが多少低下します。一方、areがそのキーを持っているはずで、持っている場合ロックを解除するリポジトリを忘れただけで、システムが非常に困難になります。ただし、これはどのセキュリティシステムでも一般的です。安全性が高いほど、実際に使用するのが不便になります。)