Kho GIT qua mạng LAN


14

Tôi đang cố gắng thiết lập kho lưu trữ GIT qua LAN trong hệ điều hành Ubuntu .
Tôi có thể thiết lập kho lưu trữ GIT, nhưng không chắc chắn CÁCH hiển thị kho lưu trữ cho người dùng khác trong mạng LAN .
Vì nó yêu cầu một máy chủ, tôi đã cài đặt OpenSSH-Server . Nhưng không biết làm thế nào để cấu hình nó.

Xin vui lòng chỉ cho tôi để sửa tài nguyên để đọc từ.
Cảm ơn.

git 

Câu trả lời:


17

Trước hết, bạn cần kiểm tra thiết lập openssh của mình trên máy chủ Ubuntu: xem HowTo này .

Sau đó, bạn có thể theo dõi bài viết này , chủ yếu đề nghị:

$ 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

đi vào /etc/ssh/ssh_configtệp của bạn và thêm git vào danh sách Người dùng được phép có thể đăng nhập.
sao chép id_rsa.pubtệp của bạn qua máy chủ của bạn ở đâu đó (trong ví dụ của chúng tôi đang sử dụng /tmp) và sau đó chạy lệnh này:

 $ 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

Từ máy cục bộ của bạn, hãy kiểm tra nó với điều này:

 git clone git@YOUR_SERVER:gitosis-admin.git

Cấu hình gitosis cho một dự án mới. Sử dụng trình chỉnh sửa yêu thích của bạn để tạo một khối mới theo khối gitosis. Nó sẽ giống như thế này:

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

Một vài điều cần chú ý trong khối trên.
Trước tiên, hãy đảm bảo tên của bạn khớp với những gì trong khóa chung của bạn (nghĩa là mở tệp id_rsa.pub của bạn và xem tên đó nói gì.
Thứ hai, hãy đảm bảo bạn đánh vần chính xác!

Khi bạn đã hoàn tất, hãy cam kết và đẩy các thay đổi lên đến máy chủ.

$ git commit -a -m "created a new repository!"
$ git push

Lưu ý: nếu bạn gặp vấn đề với eagain.net, bạn có thể sử dụng Github.
Kazark

3

Cách tốt nhất của bạn để làm điều đó là chạy một máy chủ ssh và giới hạn người dùng của bạn sử dụng git-shellcho vỏ đăng nhập của họ. Bạn có thể cài đặt máy chủ ssh đúng cách bằng cách chạy một trong các lệnh sau nếu nó chưa được cài đặt.

sudo apt-get install openssh-server

hoặc là

sudo apt-get install dropbear

Sau đó thêm /usr/bin/git-shellvào /etc/shellsbằng cách làm

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

Sau đó sử dụng git-shellthay vì bashnhư vỏ người dùng của bạn. Điều này sẽ hạn chế người dùng chỉ có thể thực hiện các gitthao tác khi đăng nhập vào máy chủ thay vì cung cấp cho người dùng đầy đủ ..

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.