2015-11-23 14 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 Enterprise Editionのために利用可能である:ミラーリング

リポジトリ(のみEE)あなたはGitLabインスタンスに リポジトリのミラーを維持したい場合は、あなたが今せることができますGitLabは、GitLab Enterprise Editionで自動的に ミラーリングを処理します。

コミュニティEditionおよびEnterprise Editionの間にチェックthe features comparison あなたはEEを要求したりgitlab-mirrorsスクリプトを使用次のいずれかの能力:gitlabミラープロジェクトが現在GitLabから欠落している機能を埋めるために設計されて

をリモートリポジトリをミラーリングする gitlab-mirrorsは、 gitlabにリモートリポジトリの読み取り専用コピーを作成します。 ミラーリングされたリポジトリ(たとえば、追加、削除、更新)を管理するためのCLI管理インターフェイスを提供し、管理者がcrontabを使用してすべてのミラーを定期的に更新できるようにします。これは、python-gitlab3を使用して をGitLab APIと相互作用させることによって動作します。また、gitlab-mirrorsのインストールと設定については、このクールな 人形モジュールをチェックしてください。

+0

コミュニティエディションに自動ミラーリングがないことを認識しています。しかし、[Gitlab.com](https://about.gitlab.com/gitlab-com/)はEnterprise Editionを実行します。 [ソース](https://about.gitlab.com/gitlab-com/) – Tijmen

+0

@Tijmenどのようなエラーがあなたに表示されますか?私はhttpsを試してみましたgithubとsshは未解決のgithub –

+0

エラーは:リポジトリは1日前に更新することができませんでした。 conq:リポジトリアクセスが拒否されました。デプロイキーは要求されたリポジトリに関連付けられていません。 致命的:リモートリポジトリから読み取れませんでした。 正しいアクセス権が であり、リポジトリが存在することを確認してください。 – Tijmen

0

this commentによると、キーはデフォルトで/var/opt/gitlab/.ssh/id_rsa/var/opt/gitlab/.ssh/id_rsa.pubです。キーが存在しない場合は、sudo -u git -H ssh-keygenで手動で作成し、プロンプトでEnterキーをマッシュすることができます。

gitlab-ee 8.7.2インストールでこれを試したところ、動作しているようです。

+3

残念ながらgitlab-eeの独自のインストールを実行している場合にのみ重要です。 – BM5k