CentOsのgitの構成とSSH公開鍵の導入
6036 ワード
前言
自分のサーバにGitサーバを配備することは、非常に重要なことです.プロジェクトを自動的にサーバに配備する必要がある場合は、サーバに倉庫を構築し、フォルダを手動でパッケージしてコピーするのではなく、pushを押します.これは非常に便利なプロセスです.このセクションのコンテンツサービスは、「Hexoをサーバにアップロードし、自動配備を実現する方法」です..
サーバ環境
私が使っているのはCentOs 7です.Xバージョン64ビット、6.Xバージョンはメンテナンスを放棄しており、使用をお勧めしません.
CentOsはすでに
授業はもうOpenSSL環境があります.
インストールGit
まず私が言いたいのはGit、Github、GitLabの違いで、誰もがこの違いを知っているわけではありません. Git:バージョン管理システムで、バージョン管理は1つまたは複数のファイルの内容の変化を記録し、将来特定のバージョンの改訂状況を調べるシステムです.バージョン管理システムがあれば、ファイルの紛失や誤った修正などの「事故」を心配することなく、履歴のある時点に戻ることができます.SVN、CVSのような初期の集中バージョン制御システムには、単一の集中管理サーバがあり、すべてのファイルの改訂バージョンを保存し、協同作業をしている人々はクライアントを通じてこのサーバに接続し、最新のファイルを取り出したり、更新を提出したりしています.分散バージョン制御システムを選択する理由クライアントは最新のバージョンファイルを取得するだけでなく、コードウェアハウスの完全なミラーリングを行うため、Gitのような分散バージョン制御システムを使用しています.サーバに障害が発生すると、抽出操作のたびにコード・ウェアハウスの完全なバックアップが実行されるため、後でミラー化されたローカル・ウェアハウスを使用して返信できます.Linus Torvaldsを覚えておいてください.彼はLinuxオペレーティングシステムを開発したり、Gitを開発したりしましたが、現在のAndroidの下層は変更されたLinuxシステムに基づいています.これは彼のgithubアドレスです.https://github.com/torvalds上にLinuxのソースがあります!興味ないの? GitHub:これはもっとよく知っています.彼はオンラインのGitベースのコード管理サービスで、ほとんど毎日使っています. Gitlab:多くの人はこれをGitHubと混同して、区別しにくいが、実は簡単で、まず彼らはすべてWebのバージョン制御インタフェースに基づいて、インターネットにサービスして、githubは直接登録して使用することができて、2 gitlabはサーバーに配置する必要があります.1つは他の人のもので、1つは自分のものです.
こんなにたくさん話したら、Gitのインストールを始めることができます.
このように簡単で、インストールが成功したかどうかを検証するには、入力するだけです.
これは私が実際に操作したスクリーンショットです.
バージョン管理である以上、誰がこの制御を行うかにかかわるので、gitを専門に管理するアカウントを設定する必要があります.
私の効果図:
gitの権限管理
これが私たちのポイントです.私は個人開発なので、小さなアウトソーシング会社で開発をしています.チームが大きくないので、SSH公開鍵を使って管理していますが、大きなチームであれば、
次の操作を行います.
その後、ローカルのidをrsa.pubファイルの内容をauthorized_にコピーkeys、どのようにローカルSSH鍵を生成するかはすでに紹介しましたが、私の前のブログでは、HexoがどのようにGithub Pagesの内容に配置されて建国するかについて、参考にすることができます.
ファイルをサーバに転送した後、権限keysファイルにコンテンツをコピーする方法については、コマンドを参照してください.
この方法でサーバーにログインすることを許可するのは安全ではありません.必ず閉じなければなりません.この点は後で話します.
Git倉庫の作成
gitウェアハウスを作成する場合は簡単です.-bareを使用すると、ワークスペースにファイルがない裸のウェアハウスを作成します.
ローカルではワンタッチでcloneなどの操作ができます
クライアントshellログインの禁止
この言葉を見つけます.
どうしてGitLabを直接使わないの?
いけないとは言わないし、いいですが、2 Gメモリのサーバーは使わないことをお勧めします.ブロガーは貧乏でいいサーバーが買えないので、このように过ごしました.
クレイジーな暗示は賞を打つ??
自分のサーバにGitサーバを配備することは、非常に重要なことです.プロジェクトを自動的にサーバに配備する必要がある場合は、サーバに倉庫を構築し、フォルダを手動でパッケージしてコピーするのではなく、pushを押します.これは非常に便利なプロセスです.このセクションのコンテンツサービスは、「Hexoをサーバにアップロードし、自動配備を実現する方法」です..
サーバ環境
私が使っているのはCentOs 7です.Xバージョン64ビット、6.Xバージョンはメンテナンスを放棄しており、使用をお勧めしません.
CentOsはすでに
OpenSSH
を内蔵しているので、もしあなたのシステムがなければ、自分でダウンロードする必要があります.sshのバージョンを表示する方法はssh -V
です.linuxでは大文字と小文字が敏感で、V小文字では結果が正しく得られないことに注意してください.次は私の出力結果です.授業はもうOpenSSL環境があります.
インストールGit
まず私が言いたいのはGit、Github、GitLabの違いで、誰もがこの違いを知っているわけではありません.
こんなにたくさん話したら、Gitのインストールを始めることができます.
1
yum install -y git
このように簡単で、インストールが成功したかどうかを検証するには、入力するだけです.
1
git --version
これは私が実際に操作したスクリーンショットです.
バージョン管理である以上、誰がこの制御を行うかにかかわるので、gitを専門に管理するアカウントを設定する必要があります.
1
2
3
4
5
6
7
8
9
10
# git
adduser git
# git
passwd git
#
#
cd /home
ls -al
私の効果図:
gitの権限管理
これが私たちのポイントです.私は個人開発なので、小さなアウトソーシング会社で開発をしています.チームが大きくないので、SSH公開鍵を使って管理していますが、大きなチームであれば、
gitolite
またはgitosis
を使って管理することをお勧めします.一つはPerl開発で、もう一つはPython開発です.ここでは後述しません.SSH公開鍵の導入を使用しているからです.次の操作を行います.
1
2
3
4
5
6
7
8
9
10
11
12
13
# git
cd /home/git
# .ssh , ,
mkdir .ssh
cd .ssh
# keys
touch authorized_keys
# 5. , , , 。
$ chmod 700 /home/git/.ssh/
$ chmod 600 /home/git/.ssh/authorized_keys
その後、ローカルのidをrsa.pubファイルの内容をauthorized_にコピーkeys、どのようにローカルSSH鍵を生成するかはすでに紹介しましたが、私の前のブログでは、HexoがどのようにGithub Pagesの内容に配置されて建国するかについて、参考にすることができます.
ファイルをサーバに転送した後、権限keysファイルにコンテンツをコピーする方法については、コマンドを参照してください.
cat id_rsa.pub >> authorized_keys
ssh git@
をローカルで使用すればgitアカウントを使用してサーバにログインできますが、もちろん安全ではありません.この方法でサーバーにログインすることを許可するのは安全ではありません.必ず閉じなければなりません.この点は後で話します.
Git倉庫の作成
gitウェアハウスを作成する場合は簡単です.-bareを使用すると、ワークスペースにファイルがない裸のウェアハウスを作成します.
1
git init --bare
ローカルではワンタッチでcloneなどの操作ができます
1
git cline git@ ip
クライアントshellログインの禁止
/etc/passwd
ファイルの変更1
vim /etc/passwd
この言葉を見つけます.
1
2
3
4
5
6
git:x:1000:1000::/home/git:/bin/bash
#
git:x:1000:1000::/home/git:/bin/git-shell
# ! :wq
どうしてGitLabを直接使わないの?
いけないとは言わないし、いいですが、2 Gメモリのサーバーは使わないことをお勧めします.ブロガーは貧乏でいいサーバーが買えないので、このように过ごしました.
クレイジーな暗示は賞を打つ??