LAN経由のGITリポジトリ


14

Ubuntu OSでLAN介しGITリポジトリをセットアップしようとしています。 GITリポジトリをセットアップすることはできますが、LAN内の他のユーザーにリポジトリを公開する方法はわかりません。 サーバーが必要なので、OpenSSH-Serverをインストールしました。しかし、知らないかたに設定します。 読むための正しいリソースを教えてください。 ありがとう。




git 

回答:


17

まず、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

注:で問題が発生しているeagain.net場合は、Githubを使用できます。
カザーク

3

それを行う最良の方法は、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により、サーバーにログインするときに完全なユーザーを提供するのではなく、ユーザーが操作を実行できるように制限されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.