Repositori GIT melalui LAN

14

Saya mencoba mengatur repositori GIT melalui LAN di OS Ubuntu .
Saya dapat mengatur repositori GIT, tetapi tidak yakin BAGAIMANA CARA mengekspos repositori ke pengguna lain di LAN .
Karena membutuhkan server, saya menginstal OpenSSH-Server . Tapi tidak tahu BAGAIMANA CARA mengkonfigurasinya.

Tolong tunjukkan saya ke sumber daya yang benar untuk membaca.
Terima kasih.


sumber

Jawaban:

17

Pertama-tama, Anda perlu memeriksa pengaturan openssh Anda di server Ubuntu: lihat HowTo ini .

Maka Anda dapat mengikuti artikel ini , yang terutama merekomendasikan:

$ 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

masuk ke /etc/ssh/ssh_configfile Anda dan tambahkan git ke daftar Pengguna yang Diizinkan yang bisa masuk.
salin id_rsa.pubfile Anda ke server Anda di suatu tempat (dalam contoh kami menggunakan /tmp) dan kemudian jalankan perintah ini:

 $ 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

Dari mesin lokal Anda, ujilah dengan ini:

 git clone git@YOUR_SERVER:gitosis-admin.git

Konfigurasikan gitosis untuk proyek baru. Gunakan editor favorit Anda untuk membuat blok baru di bawah gitosis. Seharusnya terlihat seperti ini:

[group myrailsapp]
members = myNameAsInTheRsa.pub
writable = myNewApp

Beberapa hal yang harus diperhatikan di blok di atas.
Pertama, pastikan nama Anda cocok dengan apa yang ada di kunci publik Anda (yaitu, buka file id_rsa.pub Anda dan lihat apa yang tertulis di namanya.
Kedua, pastikan Anda mengejanya dengan benar!

Setelah selesai, komit dan dorong perubahan ke server.

$ git commit -a -m "created a new repository!"
$ git push
VONC
sumber
Catatan: jika Anda mengalami masalah dengan eagain.net, Anda dapat menggunakan Github.
Kazark
3

Cara terbaik Anda untuk melakukan itu adalah dengan menjalankan server ssh dan membatasi pengguna Anda untuk menggunakan git-shellshell login mereka. Anda dapat menginstal server ssh dengan benar dengan menjalankan salah satu dari perintah berikut jika belum diinstal.

sudo apt-get install openssh-server

atau

sudo apt-get install dropbear

Kemudian tambahkan /usr/bin/git-shellke /etc/shellsdengan melakukan

sudo echo $(which git-shell) >> /etc/shells

Kemudian gunakan sebagai git-shellganti bashshell pengguna Anda. Ini akan membatasi pengguna hanya untuk dapat melakukan gitoperasi saat masuk ke server alih-alih menyediakan pengguna dengan penuh ..

sybreon
sumber