Centosサーバーにgitoliteをインストールする

Gitoliteをインストールするのに数日かかりました。 インターネット上の一連の指示のように思われ、プロセスは世界的に複雑ではありません。 しかし、すべてが問題なく機能するように、実行する必要があるチームの完全な順序はありません。

読者はgitとgitoliteが何であるかを理解し、それらを操作できることが理解されています。インストールの問題のみが考慮されます。

コードでは、値に置き換える必要があります。
server_name_or_ip-サーバー名またはIPアドレス
username -gitoliteの管理者になるユーザーの名前。

オペレーティングシステム:サーバー-Centos 6.6、私が働いているコンピューター-OS X 10.10.2

キーアクセス設定


サーバーで 、ユーザーgitを作成し、パスワードを設定します。

useradd git passwd git 

ローカルマシンで 、現在のユーザーのキーを作成します。

 ssh-keygen -t rsa -b 2048 

安全性を高めるには、2048を4096に置き換えます。
キーをサーバーに送信します(このオプションはMacでのみテストされていますが、Linuxの構文も同様です)。

 cat ~/.ssh/id_rsa.pub | ssh git@server_name_or_ip "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys" 

サーバー上の.sshフォルダーとキーファイル権限を設定します (これがないと、キー認証は機能しません)。

 chmod 700 /home/git/.ssh/ chmod 600 /home/git/.ssh/authorized_keys 

ファイル/ etc / ssh / sshd_config のサーバーに移動 (ssh_configと混同しないでください)、次の行のコメントを解除します。

 RSAAutentification yes PubkeyAutentification yes AuthorizedKeysFile .ssh/authorized_keys 

サーバーで sshdデーモン再起動します

 service sshd restart 

ローカルマシンからパスワードなしでsshアクセスを確認します。

 ssh -i ~/.ssh/id_dsa git@server_name_or_ip 

Gitoliteのインストール


サーバー上

 su git cd ~ git clone git://github.com/sitaramc/gitolite mkdir -p ~/bin gitolite/install -to ~/bin gl-setup -q ~/username.pub 

次に、/ home / git / .ssh / authorized_keysファイルでサーバーに移動し、gitoliteで作成されていない最初のキーを削除します-これは重要です。 SSHを介して認証するキーがある場合、gitoliteはそれで動作しません)。

キーのパフォーマンスの確認( サーバー上 ):

 /home/git/gitolite/src/gitolite sshkeys-lint 

gitoliteを管理するためのリポジトリへのパス:

 git@server_name_or_ip:gitolite-admin 

セキュリティ上の理由から、sshを介してgitユーザーへのアクセスを閉じます。 gitで作業する機会のみを残します。 これを行うには、/ etc / passwdファイルに移動し、gitユーザーの行を/ bin / bashから/ usr / bin / git-shellに変更します

何かがうまくいかなかった場合


サーバー上で )gitユーザーを削除します。

 userdel git 

そのフォルダーおよびホームディレクトリ自体からすべてのファイルを削除します。 これは/ home / git /です。

私たちはもう一度やり直そうとしています。

Source: https://habr.com/ru/post/J253413/


All Articles