2015-11-23 77 views
5

Gitlab.com有一個選項可以在其他站點上映射其他存儲庫。 (項目 - >項目設置 - >鏡像庫)是否可以使用SSH協議鏡像gitlab.com上的私有存儲庫?

但是,當我試圖做到這一點使用SSH協議,授權失敗,因爲我想克隆的存儲庫不能識別Gitlab.com的公鑰。

頁指出:

如果你的SSH存儲庫是不能公開訪問時,GitLab服務器的SSH密鑰添加到遠程存儲庫。

事情是,我無法找到一個選項來添加私鑰到Gitlab.com或從Gitlab.com下載公鑰。

這是唯一可能的,如果你自己的GitLab服務器或我忽略了什麼?

回答

1

我不確定這會工作,但我認爲這是值得一試。要檢索gitlab.com的公鑰,我跑以下命令:

nmap gitlab.com --script ssh-hostkey --script-args ssh_hostkey=all 

以下3個公鑰然後可以在輸出中找到:

ssh-dss AAAAB3NzaC1kc3MAAACBAMPKInNPflcRle9F5Qt2j9aI0EZuWQzdXTbYvsl+ChaacqCOWRMiOmXHXqetFz6jD/6Fcqg20ZATxqSskQBaRn97O/mbH+GQk4d3zw9WAEURicE8rKJop3qGtdfFxLzrTuPAkKRDMmutT3hwZIOO8CFWOl1BiuUYTncJTeonrfAAAAFQCujauoy3Yy+ul72b/WsTECUPj9yQAAAIBIV2yyF7RZf7IYS8tsWcKP7Y5Bv9eFdbvbtsaxcFCHcmHIGoJQrIdPoueoOb5EUTYz0NgYKsKaZzDZkgFk28GsmLxKvhnPjaw0lJVSKRchEE5xVlamOlabiRMjQ7X/bAdejkBJe96AjZZL3UO4acpwfy3Tnnap0w6YCDeaxoyHpwAAAIAU+dyNaL3Hy15VIV32QwWMekvxeptUY/W03LNcgZZDoin87TE9xuQhM0qF3pi2i2a2ExuslgdttmYWvrbEz8eW+RFgvT5pKwWpalKWetHvtN3oYZP37ZIO1Y3Hd5A4YVcpYp1ccRayveLlCRwxb4HdGXT2OmYU+lmvimIR8zQ6A== 

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9 

_ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY= 

添加這些到你的資料庫服務器可能允許它正確地認證連接。

+2

我測試了它(添加了RSA密鑰),但沒有奏效。 – Tijmen

7

Gitlab mirroring featureimplemented recently on Nov 2015但不幸的是它僅適用於Gitlab企業版:

庫鏡像(EE)如果你想保持在GitLab實例 倉庫的一面鏡子,你現在可以讓GitLab會自動在GitLab Enterprise Edition中爲您處理 鏡像。

檢查社區版和企業版之間the features comparison 要麼你申請EE或使用gitlab-mirrors腳本:

的gitlab鏡項目旨在填補這是目前從GitLab缺少一個特點:能力鏡像遠程存儲庫。 gitlab-mirrors在 gitlab中創建遠程存儲庫的只讀副本。它提供了一個CLI管理界面,用於管理鏡像存儲庫(例如添加,刪除,更新),以便管理員可以定期使用crontab更新所有鏡像。它通過使用python-gitlab3與GitLab API交互 來運行。另外,請查看這個很酷的 puppet模塊來安裝和配置gitlab-mirrors。

+0

我知道社區版沒有自動鏡像。 [Gitlab.com](https://about.gitlab.com/gitlab-com/)可以運行企業版。 [來源](https://about.gitlab.com/gitlab-com/) – Tijmen

+0

@Tijmen什麼錯誤顯示你?我試着https工作,ssh與github說github未解決 –

+0

錯誤是:存儲庫未能在一天前更新。 conq:存取庫訪問被拒絕。部署密鑰未與請求的存儲庫相關聯。 致命:無法從遠程存儲庫讀取。 請確保您擁有正確的訪問權限 並存在存儲庫。 – Tijmen

0

this comment,關鍵是在/var/opt/gitlab/.ssh/id_rsa/var/opt/gitlab/.ssh/id_rsa.pub默認。如果密鑰不存在,您可以使用sudo -u git -H ssh-keygen手動創建它們,並通過提示混合輸入密鑰。

我剛剛在我的gitlab-ee 8.7.2安裝中試過這個,它似乎正在工作。

+3

不幸的是,如果您正在運行您自己的gitlab-ee安裝,那就很重要。 – BM5k

相關問題