gitサーバーのSSHとHTTPの長所と短所は何ですか?


23

gitサーバーをセットアップしたい。私は、いくつかのハウツーを詳細に見つけました。

Sshからアクセスできるgit-serverのインストールについて説明するものもあれば、HTTPからアクセスできるものもあります。(他の人は、ジトライトのようなツールさえアドバイスします)。

SSHまたはHTTPを選択する賛否両論はありますか?HTTPにより、ファイル転送は大幅に遅くなるように見えますが、他に留意すべきことがあるのでしょうか。

Gitサーバーをセットアップする最も一般的な方法はありますか?

回答:


22

最も一般的な方法を求めている間、状況を見て、あるプロトコルが別のプロトコルを除外しないことを覚えておくとよいと思います-必要に応じて後でアクセスプロトコルを追加します。

  • 最も効率的で高速なのは、ネイティブのGitデーモンを使用することです。ただし、暗号化も認証もなしの小さな機能が提供されました。リポジトリの公開読み取り専用ミラーに最適です。パフォーマンスが必要な場合は、OSに同梱されているバージョンではなく、最新バージョンのインストールも検討してください。

  • 最も互換性のある方法はHTTPです。ネイティブのGitほど効率的ではありませんが、それほど大きな違いはありません。HTTPの最も重要な利点は、ファイアウォールの侵入とプロキシのサポートです。ほとんどのゲートウェイ/ファイアウォールでは、通常のその他のHTTPトラフィックとして表示されます。

  • より安全な HTTPSですが、あまりにも必然的に非効率的。かなりの設定が必要です。信頼できるTLS証明書も必要です。

  • 同様のセキュリティですが、より一般的な方法はSSHを使用することです。コマンドラインでプロトコルが指定されていない場合のデフォルトです。SSHを搭載し、強力な暗号化とパスワードおよびキー認証の両方を提供します。型破りですが、この方法でも匿名アクセスを許可することは可能です。

私のアドバイスは、あなたのリポジトリのユースケースに依存するでしょう:

  • プライベートリポジトリと小さなユーザーグループ:SSH

  • パブリックリポジトリ、任意の数のクローン、ただしプッシュ特権ユーザーの小さなグループ:HTTPおよびGit(フェッチのみ)+ SSH(+プッシュアクセス)

  • 上記のいずれかですが、プッシュ特権ユーザーが大量にいる場合:Gitの哲学を理解していない可能性があります。

一部のパブリックネットワークまたは企業ネットワークは、GitおよびSSHトラフィックをブロックする場合があります。本当にどこからでもリポジトリにアクセスする必要がある場合は、HTTPSとSSHの両方を使用することを検討してください。


startssl.comからHTTPS用の無料のTLS証明書を取得できます。すべての主要なOS /ブラウザから信頼されています。
-WhyNotHugo


2

リポジトリが公開されている場合、クライアント側で簡単に使用できるため、読み取り専用アクセスにHTTPSを使用できます。そうでない場合は、SSHのみを使用してください。いずれにしても、認証管理が優れているため、書き込みアクセスにはSSHを使用する必要があります。


ああ、それで2つを混ぜることは可能ですか?書き込みおよび読み取りアクセス用のSSH、および読み取り専用アクセスを簡単にするためのHttps?
ステファンローランド

はい、そうです。大した問題ではないはずです。
クリストファーペリン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.