2016-08-30 81 views
-1

我在Ubuntu 16.04下。我無法在git協議下克隆任何存儲庫(即git://yoctoproject.org/poky; git://git.gnome.org/jhbuild; git://git.gnome.org/rhythmbox等)。無法在git協議下克隆任何存儲庫(使用git clone git://)

我使用ssh-keygen生成公鑰和私鑰的ssh密鑰,並將它們放在〜/ .ssh /文件夾中。

它可以用https協議下載git存儲庫(如https://github.com/mozilla/gecko-dev)。我已經嘗試過使用https://而不是git://來克隆上面的git repos,但它沒有用。我檢查了不同的互聯網連接(家庭和工作),刪除了代理,但它沒有工作。

我嘗試克隆時遇到的錯誤是: - fatal:無法連接到「hostname」; errno =連接超時/無錯誤。 - ssh:連接到主機「主機名」端口22:連接超時 請確保您擁有正確的訪問權限並存在存儲庫。

我的想法是,以某種方式爲每個git://存儲庫我需要將我的公鑰添加到主機authorized_keys文件夾,但我不知道該怎麼做(如果它是我的問題的解決方案)。有人能給我一個關於如何用git://協議克隆回購的實例嗎?

+0

你確定你正在使用(或應該使用)git的://協議?根據[文檔](https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols),git協議有* no *認證,並且很少使用。很可能你應該使用SSH協議。在這種情況下,某些服務器端軟件也可能會造成限制(例如gitlab或github,它們需要始終使用'git'用戶名)。 –

+0

如果您使用SSH協議,您可能還必須指定在〜/ .ssh/config文件中使用哪個私鑰。 (提示:'HostName xyz' - 'IdentityFile abc_rsa') –

回答

0

我的想法是,以某種方式爲每一個混帳://倉庫,我需要我的公鑰添加到主機的authorized_keys文件夾,但我不知道如何做到這一點 (如果它是解決方案對我的問題)。

你有權訪問存儲庫運行的機器嗎?如果是的話,你可以用下面的命令將公鑰複製到服務器:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" 

如果您沒有訪問計算機,您可以發送(電子郵件)您的公鑰來管理。

有人能給我一個關於如何用git://協議克隆repo的實例嗎?

當你進入倉庫,使用這樣的:

git clone [email protected]:/opt/git/repository.git 
+0

錯誤看起來像用戶無權訪問回購。 @ Philj0是對的。 –

相關問題