Ubuntu OSでLANを介してGITリポジトリをセットアップしようとしています。
GITリポジトリをセットアップすることはできますが、LAN内の他のユーザーにリポジトリを公開する方法はわかりません。
サーバーが必要なので、OpenSSH-Serverをインストールしました。しかし、知らないかたに設定します。
読むための正しいリソースを教えてください。
ありがとう。
Ubuntu OSでLANを介してGITリポジトリをセットアップしようとしています。
GITリポジトリをセットアップすることはできますが、LAN内の他のユーザーにリポジトリを公開する方法はわかりません。
サーバーが必要なので、OpenSSH-Serverをインストールしました。しかし、知らないかたに設定します。
読むための正しいリソースを教えてください。
ありがとう。
回答:
まず、Ubuntuサーバー上のopensshセットアップを確認する必要があります。このHowToを参照してください。
次に、主に推奨されるこの記事をフォローできます。
$ sudo apt-get install python-setuptools
$ mkdir ~/src
$ cd ~/src
$ git clone git://eagain.net/gitosis.git
$ cd gitosis
$ sudo python setup.py install
$ sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group
--disabled-password \
--home /home/git \
git
/etc/ssh/ssh_config
ファイルに移動し、gitをログイン可能な許可ユーザーのリストに追加します。ファイルをどこかのサーバーに
コピーしid_rsa.pub
(この例ではを使用しています/tmp
)、次のコマンドを実行します。
$ sudo -H -u git gitosis-init < /tmp/id_rsa.pub
Initialized empty Git repository in ./
$ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
ローカルマシンから、これでテストしてください:
git clone git@YOUR_SERVER:gitosis-admin.git
新しいプロジェクトのgitosisを構成します。お気に入りのエディターを使用して、gitosisブロックの下に新しいブロックを作成します。次のようになります。
[group myrailsapp]
members = myNameAsInTheRsa.pub
writable = myNewApp
上記のブロックで注意すべき点がいくつかあります。
最初に、名前が公開鍵にあるものと一致することを確認します(つまり、id_rsa.pubファイルを開いて、名前の内容
を確認します。次に、書き込み可能スペルが正しいことを確認します。
完了したら、変更をコミットしてサーバーにプッシュします。
$ git commit -a -m "created a new repository!"
$ git push
それを行う最良の方法は、sshサーバーを実行し、ユーザーgit-shell
がログインシェルに使用することを制限することです。まだインストールされていない場合は、次のいずれかのコマンドを実行して、sshサーバーを適切にインストールできます。
sudo apt-get install openssh-server
または
sudo apt-get install dropbear
次に追加/usr/bin/git-shell
し/etc/shells
て
sudo echo $(which git-shell) >> /etc/shells
次に、git-shell
代わりにbash
をユーザーシェルとして使用します。これgit
により、サーバーにログインするときに完全なユーザーを提供するのではなく、ユーザーが操作を実行できるように制限されます。
eagain.net
場合は、Githubを使用できます。