centosでgitoliteを導入

gitサーバーとして使いたいのでgitoliteを入れてみる

<環境>
centos

rootでログイン
yum install gitolite

cat /etc/passwd
でgitoliteユーザーができてることを確認

ホームディレクトリは/var/lib/gitolite

普段使ってる公開鍵を用意しコピーしておきます
cp (普段使ってる公開鍵) /var/lib/gitolite/

権限を変えておきます
chmod 600 /home/gitolite/(鍵の名前)

gitoliteユーザーに切り替え
su – gitolite
gl-setup /var/lib/gitolite/(鍵の名前)

で準備ができました

違うパソコンからssh経由でgit cloneしてみます
git clone ssh://gitserver/testing

うまくいけば成功

fatal: destination path ‘testing’ already exists and is not an empty directory.
なんてエラーがでた場合は、
サーバーでの.ssh/authorized_keysの中を確認

# gitolite start
command=”~

の記載の前に、なにかあるときは邪魔してログインできないようで
消したらできました
もともとgitoliteユーザーがいたときのものだと思います

開発者用ユーザーを追加します
git clone ssh://gitserver/gitolite-admin

gitolite-admin/keydir
に開発者用の公開鍵[gitolitedev.pub]を入れます

git add gitolitedev.pub
git commit -m “add dev key”
git push

うまくいけば
git clone ssh://gitserver/testing
とれればできた

centosでsshユーザーを追加する

centosでsshユーザー[testuser]を追加してみます

<環境>
centos
sshdは用意済

まずcentosにログイン

root になります
sudo -s

useradd testuser
passwd testuser
(パスワードを2回打ち込む)

su – testuser
でログインできることを確認

sshでログインできるようにします
今回は鍵を用意
ssh-keygen
(パスワードを2回打ち込む)

権限を変えておきます
一旦、rootになります
exit
rootになったら
cd /home/testuser/
chmod 700 testuser
cd .ssh
chmod 600 *

testuserで入り直します
su – testuser

sshで入れるか確認
ssh localhost
でログイン確認
エラー発生
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

authorized_keysを追加
cat id_rsa.pub > authorized_keys

もう一度
ssh localhost
で成功

秘密鍵[id_rsa]を違うPCへコピーして
試しにログインできたら終わり