ローカルプロトコル(ローカル)、HTTPプロトコル、SSH(セキュアシェル)プロトコルとのgitプロトコル:gitのは、転送データの4つの主要なプロトコルを使用することができます。その中でも、主に起因するリモート開発者のための現在のローカルのプロトコルにコードを共有し、それが一般的に使用されていないが、私は一般的に使用されないように起因する認証メカニズムの欠如と困難にgitのプロトコルを設定します。
最も一般的なのは、SSHおよびHTTP(S)プロトコルです。リモートリポジトリに関連付けられているGitはHTTPおよびSSHプロトコルを使用することができます。
[特長/長所と短所]
SSH:
- ポート22は、一般的に使用されます。
- 第1の生成ローカルし、サーバーにアップロードし、公開鍵でSSH;
- 遅い速度の相対ポイント
HTTPS:
- 典型的には443のポート。
- /ユーザー名パスワード認証、可用性は比較的高いです。
- 比べてスピード早く
開いているポート80および443 HTTP / HTTPSプロトコルの両方への一般的な企業のファイアウォールは、あなたが良いのバイパスセキュリティ制限のhttp使用gitの、と非常に便利に使用することができたときに、企業のファイアウォールの設定、およびSSHのため、企業のファイアウォールは、おそらく22個のポートを開きません。
使用[違い]
クローンプロジェクト:
sshモードは、configure SSHキーを使用する場合、すなわち、サーバーにアップロードし、公開鍵SSHの鍵ペアを生成します。
HTTPの実施形態を使用する場合は、何の要件は、直接ダウン複製することはできないがあります。
プロジェクトをプッシュします:
sshのモードを使用する場合、以前に設定SSHキーは、また、直接プッシュすることができ、ユーザー名とパスワードを確認する必要があります。
HTTPの方法を使用している場合、我々は、ユーザー名とパスワードを確認する必要があります。
要約:
HTTPSは、オープンソースプロジェクトのための匿名アクセスを助長している、それは簡単に複製することができ、読み(ただし権利をプッシュしていない)他の。
SSHは限りSSH公開鍵の設定がクローンとプッシュ操作を実装するのは非常に自由にすることができて、内部のプロジェクトのためのより適切な、匿名アクセスを助長されていません。
[ハンドオーバSSH / HTTPマナーgithubの】
[] SSH鍵を生成する方法
1、ユーザ名とgitのユーザーの電子メールを提供
--global user.name設定gitの「yournameの」 gitの設定 --global user.email 「youremail」
//以前のバックにあるyourname / youremail直接アクセスを追加しないでください、その後設定した場合
2、鍵生成SSH
コマンドを入力します。SSH-keygenは-t rsaの-C「youremail」
押して、あなたが2つのファイルを取得することができます...生成する次のコマンドを入力します。id_rsaとid_rsa.pubとを
SSHとGPGキー - - 新しいSSHキーの設定:オープンid_rsa.pub、パスをgithubのために内容をコピー
正常に追加された後、githubのは、あなたが引っ張っgithubの取得からコードをアップロードすることができますあなたのマシンを識別することができます。
資格情報を保存する方法[HTTP]
HTTPS認証アカウントのパスワードを入力するには、必要であるが、今、すべての入力を必要としません。資格情報はに頼る必要が保存されている資格証明マネージャを、それぞれが独自のオペレーティング・システム・プラットフォーム資格情報マネージャーを持っています。
[参照記事]
gitのでHTTPSおよびSSHプロトコルを使用しての違いについて