ที่เก็บ GIT ผ่าน LAN


14

ฉันกำลังพยายามตั้งค่าที่เก็บ GIT บน LANในUbuntu OS
ฉันสามารถตั้งค่าที่เก็บ GIT ได้ แต่ไม่แน่ใจว่าจะ เปิดเผยที่เก็บข้อมูลกับผู้ใช้รายอื่นใน LANได้อย่างไร
ในขณะที่มันต้องใช้เซิร์ฟเวอร์ผมติดตั้งOpenSSH เซิร์ฟเวอร์ แต่ไม่ทราบวิธีกำหนดค่า

กรุณาชี้ให้ฉันแก้ไขทรัพยากรให้อ่าน
ขอบคุณ

git 

คำตอบ:


17

ครั้งแรกของทั้งหมดที่คุณจำเป็นต้องตรวจสอบการติดตั้ง openssh ของคุณบนเซิร์ฟเวอร์ Ubuntu: ดู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
Kazark

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.