こんにちは私はしばらくgitを使用していますが、エンタープライズgitは初めてです。ここに私がtest-repo
で何をしたかがあります。SSHキーペアを作成し、公開キーをデプロイキーとしてテストリポジトリに追加しました。 ssh
とhttps
からtest-repo
のクローンを作成できるようになりましたが、誰かをコラボレーターとして追加すると、https
からはリポジトリをクローンできますが、ssh
からはリポジトリをクローンできません
ssh-keygen -b 4096 -t rsa -f example_rsa -P "" -C ""
$ ls
example_rsa example_rsa.pub
$ git clone [email protected]:star/test-repo.git
Cloning into 'test-repo'...
Warning: Permanently added the ECDSA Host key for IP address '10.0.1.100' to the list of known hosts.
warning: You appear to have cloned an empty repository.
Sshを介してアクセスを許可した後でも、同じgitリポジトリにユーザーがアクセスすることはできませんが、ユーザーはhttps
を使用してリポジトリのgitクローンを作成できます。
git clone [email protected]:star/test-repo.git
Cloning into 'test-repo'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
git clone https://git.example-private.com/star/test-repo.git
Cloning into 'test-repo'...
warning: You appear to have cloned an empty repository.
Gitはクライアント/サーバー通信にいくつかのプロトコルを使用します。
Gitサーバーでssh
を使用する場合は、リポジトリを操作する共同編集者に関連するsshアクセスを提供する必要があります。管理を容易にするためのソリューションはたくさんあります-gitlab(これにもGUIがあります)、gitolite、その他多数。 Gitにはgit-Shell
-新しく作成したユーザーに設定した場合、そのユーザーはgitでのみ作業でき、サーバーへのsshではできません。 ssh
を使用する方が安全であり、エンタープライズ環境にはより良いソリューション(私の意見)です。
転送プロトコルにhttpsを使用すると、httpsの利点(または制限)が得られます。これは、gitサーバー(cgitなど)のWebインターフェイスがある場合に最も一般的に使用され、ユーザーはリポジトリを複製できます(ただし、プッシュにはできません)。
this -Gitで使用されるプロトコルに関する詳細な説明をご覧ください。