1. まず、Git をインストールする必要があります。yum ソースを使用してオンラインでインストールできます。
リーリー
2. git サービスを実行するための git ユーザーを作成します。
リーリー
3. git リポジトリを初期化します:
ここでは、git リポジトリとして /data/git/learngit.git を選択します
リーリー
上記のコマンドを実行すると、ベア ウェアハウスが作成されます。ベア ウェアハウスにはワークスペースがありません。サーバー上の Git ウェアハウスは共有専用であるため、ユーザーはサーバーに直接ログインしてワークスペースを変更することはできません。サーバー上の Git ウェアハウスは通常、すべて .git で終わります。次に、所有者を git:
に変更します。
リーリー
4. これで、Git サーバーの準備がほぼ整いました。
次に、クライアント上のリモート ウェアハウスのクローンを作成します
リーリー
ここで注意すべき 2 つの点: まず、Git のクローンまたはプッシュ コマンドを使用して初めて GitHub に接続すると、警告が表示されます:
リーリー
これは、Git が SSH 接続を使用するためで、SSH 接続で最初に GitHub サーバーのキーを検証するときに、GitHub キーのフィンガープリント情報が本当に GitHub サーバーから取得されたものであるかどうかを確認する必要があるためです。「yes」と入力して Enter キーを押すだけです。 。 Git は、GitHub キーがこのマシンの信頼リストに追加されたことを通知する警告を出力します:
リーリー
この警告は 1 回だけ表示され、それ以降の操作では警告は表示されません。誰かが GitHub サーバーになりすますことが本当に心配な場合は、「yes」と入力する前に、GitHub の RSA キーのフィンガープリント情報が SSH 接続によって提供されたものと一致するかどうかを確認できます。 2 番目に、クローンを作成するためのパスワードを入力するよう求められます。もちろん、パスワードがわかっている場合は、クローンを作成するためのパスワードを入力できますが、より一般的な方法は、SSH 公開キーを使用して検証を完了することです。
5. SSH キーを作成します。
まず、ユーザーのホーム ディレクトリに .ssh ディレクトリがあるかどうかを確認します。存在する場合は、このディレクトリに id_rsa と id_rsa.pub という 2 つのファイルがあるかどうかを確認します。すでに存在する場合は、そこに直接ジャンプできます。次のステップ。
そうでない場合は、シェルを開き (Windows で Git Bash を開きます)、SSH キーを作成します:
リーリー
電子メール アドレスを自分の電子メール アドレスに変更し、Enter キーを最後まで押して、デフォルト値を使用する必要があります。このキーは軍事目的では使用されないため、パスワードを設定する必要はありません。すべてがうまくいけば、ユーザーのホーム ディレクトリに 2 つのファイルがあります。id_rsa と id_rsa.pub は SSH キーのペアであり、漏洩することはありません。これは公開キーなので、誰とでも安心して共有できます。
6. Git サーバーで RSA 認証を有効にします
その後、公開キーを Git サーバーに追加して情報を確認できます。
Git サーバーでは、まず /etc/ssh/sshd_config で RSA 認証を有効にする必要があります。つまり、
リーリー
ここでは、公開キーが .ssh/authorized_keys ファイルに保存されていることがわかります。そこで、/home/git の下に .ssh ディレクトリを作成し、authorized_keys ファイルを作成して、そこに新しく生成された公開キーをインポートします。その後、再度クローンを作成するとき、または後でプッシュするときに、パスワードを再度入力する必要はありません:
リーリー
7. git ユーザーのシェル ログインを無効にする
セキュリティ上の理由から、2 番目の手順で作成した git ユーザーはシェルにログインできません。これは、/etc/passwd ファイルを編集することで実行できます。次のような行を見つけます:
リーリー
最後のコロンの後ろを次のように変更します:
リーリー
このようにして、git ユーザーは通常 ssh 経由で git を使用できますが、シェルにはログインできません。これは、git ユーザーに指定した git-shell がログインするたびに自動的にログアウトするためです。
以上がCentOS で Git サーバーを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。