Ssh

https git clone 和 ssh git clone 的區別

  • February 16, 2017

嗨,我現在使用 git 有一段時間了,但是我是企業 git 的新手。這是我對我所做的事情,test-repo我創建了一個 ssh 密鑰對並將公鑰添加到我的測試儲存庫中作為部署密鑰。現在我可以複製我test-repo的來源sshhttps但是當我將某人添加為協作者時,他們可以從中複製 repo,https但不能從ssh

ssh-keygen -b 4096 -t rsa -f example_rsa -P "" -C ""

$ ls
example_rsa     example_rsa.pub

$ git clone git@git.example-private.com: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 儲存庫,但是使用者可以使用 git 複製儲存庫https

git clone git@git.example-private.com: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 使用多種協議進行客戶端-伺服器通信:

  • http
  • https
  • SSH
  • 混帳

當您決定使用sshgit 伺服器時,您需要為將使用您的儲存庫的協作者提供相關的 ssh 訪問權限。有很多解決方案可以簡化管理 - gitlab(它也有 GUI)、gitolite 和許多其他解決方案。Git 甚至帶有一個git-shell- 如果你將它設置為一個新創建的使用者,他將只能使用 git,而不能 ssh 進入伺服器。使用ssh更安全,是企業環境更好的解決方案(我認為)。

當您使用 https 作為傳輸協議時,您將獲得 https 的優勢(或限制)。當您的 git 伺服器(例如 cgit)有一個 Web 界面並且它允許使用者複製儲存庫(但不能推送)時,它最常使用。

請看一下這個——關於 Git 中使用的協議的詳細解釋。

引用自:https://serverfault.com/questions/832899