2013-04-12 27 views
6

Tôi đã cài đặt GitLab mới nhất với Bitnami. Nhưng tôi không thể đẩy bản cập nhật của mình vào repo trung tâm. Nó luôn yêu cầu mật khẩu Git. Tôi đã cài đặt nó trong một máy chủ cục bộ và đặt tên miền là một IP cục bộ. Các khóa công khai được cập nhật trong danh sách /hom/git/.ssh/authorised_keys. Nó yêu cầu mật khẩu người dùng Git. Làm ơn giúp tôi.GitLab: Tôi không thể đẩy hoặc sao chép repo, yêu cầu mật khẩu Git

+0

bạn có thể ping tên miền đó từ ứng dụng khách không? Bạn có khách hàng nào? (Windows, Unix?) Bạn có phiên bản 'git' nào trên máy khách? Bạn có thấy 'gitlab-shell' trong tệp' ~ git/.ssh/authorized_keys' trên máy chủ không? – VonC

+1

Tôi đã đấu tranh với điều này trong nhiều tháng. Hãy xem vấn đề github này. https://github.com/gitlabhq/gitlabhq/issues/search?q=1875 – spuder

+0

sau này tôi đã thử gitlab 4.2 không bitnami và nó hoạt động tốt. gitlab 5 có vấn đề này. – merp

Trả lời

1

thật lạ. Bạn có thể kiểm tra xem máy chủ SSH của bạn có được cấu hình để sử dụng các tệp authorized_keys không?

/etc/ssh/sshd_config

PubkeyAuthentication có

bạn có thể kiểm tra các điều khoản file cho .ssh/authorized_keys nộp? Chủ sở hữu phải là người dùng git. Bạn đã cài đặt phiên bản Gitlab trước chưa? Có lẽ Gitolite đã được cài đặt và bạn cần phải sử dụng gitlab vỏ cho GitLab 5.

1

Tôi cho rằng lệnh git của bạn là một cái gì đó như thế này

git clone [email protected]:project.git 

hoặc có thể

sudo git clone [email protected]:project.git 

Đôi khi chúng ta có được trộn lẫn với tài khoản người dùng mà chúng tôi đang sử dụng. Nếu chúng ta chạy sudo, điều đó có nghĩa là lệnh đang được chạy dưới dạng root. Và bạn đã tạo khóa SSH cho root và đặt nó vào Gitlab chưa? Trong trường hợp khác bạn có thể tạo khóa SSH bằng cách sử dụng sudo ssh-keygen nhưng bạn chạy git bình thường, nghĩa là lệnh git đang chạy với tư cách là người dùng đang hoạt động.

Chúng tôi cũng có thể bị lẫn lộn với khóa SSH mà chúng tôi đặt bên trong Gitlab.

Không chắc chắn nếu bạn cần điều này, nhưng nếu bạn sử dụng móc web, trong Ubuntu Apache thường chạy như www-data. Vì vậy, để móc nối web hoạt động, bạn cần phải tạo khóa SSH cho người dùng www-data.

0

Tôi vừa thiết lập gitlab ngày hôm qua trên máy ảo (xenserver) và máy chủ ubuntu 12.x LTS. Tôi đã có cùng một vấn đề chính xác.

Tôi đặt khóa ssh và tất cả những thứ đó, vẫn không có gì.

Tôi đã làm 2 việc, không chắc chắn nếu một hoặc cả hai đã sửa ...

Trước tiên, tôi đã cài đặt git (!). Tôi chỉ giả định nó sẽ đi kèm với gitlab, nhưng nó không.

sudo apt-get install git 

Khi bạn cài đặt gitlab, nó sẽ tạo ra người dùng 'git', tuy nhiên, nó không hiển thị trong thư mục chính.

Tôi đặt mật khẩu cho người dùng git:

sudo passwd git 

tôi khởi động lại máy sau đó. Sau đó tôi có thể đẩy/kéo như vậy:

git clone [email protected]:test-group/test-repo.git 

Tôi muốn sử dụng git/gitlab để triển khai các bản cập nhật tự động và từ xa cho nhiều, nhiều máy ở các địa điểm từ xa. Tôi vẫn không thể tìm ra cách để làm điều đó. Tôi nghĩ rằng bạn có thể tạo một người dùng trong gitlab và đẩy/kéo dựa trên đó cho phép người dùng nhưng tôi dường như không thể tìm ra cách để làm điều đó.

Chúc may mắn!

Các vấn đề liên quan