Những ưu và nhược điểm của SSH và HTTP đối với máy chủ git là gì?


23

Tôi muốn thiết lập một máy chủ git. Tôi đã tìm thấy một số cách làm, rất chi tiết.

Một số mô tả cài đặt cho một máy chủ git có thể truy cập thông qua Ssh, trong khi những người khác, có thể truy cập thông qua HTTP. (Những người khác thậm chí còn tư vấn các công cụ như gitolite).

Có những ưu và nhược điểm khi chọn qua SSH hoặc HTTP? Dường như bằng HTTP, việc truyền tệp chậm hơn đáng kể, nhưng tôi tự hỏi liệu có những điều khác cần lưu ý không.

Cách phổ biến nhất để thiết lập một máy chủ git, nếu có là gì?

Câu trả lời:


22

Trong khi bạn hỏi cách phổ biến nhất, tôi nghĩ tốt hơn là xem xét tình huống của bạn và nhớ rằng một giao thức không loại trừ giao thức khác - thêm giao thức truy cập sau nếu bạn cần chúng.

  • Hầu hết các hiệu quả và nhanh chóng là sử dụng daemon Git bản địa. Tuy nhiên, ít tính năng được cung cấp: không mã hóa, không xác thực. Lý tưởng cho các gương chỉ đọc công khai của kho lưu trữ của bạn. Nếu bạn cần hiệu suất, cũng xem xét việc cài đặt một phiên bản gần đây hơn là phiên bản được cung cấp cùng với hệ điều hành của bạn.

  • Hầu hết tương thích cách là HTTP. Ít hiệu quả hơn Git bản địa, nhưng cũng không có nhiều sự khác biệt. Chuyên nghiệp quan trọng nhất của HTTP là thâm nhập tường lửa và hỗ trợ proxy. Nó xuất hiện dưới dạng lưu lượng HTTP thông thường khác cho hầu hết các cổng / tường lửa.

  • An toàn hơn là HTTPS, nhưng chắc chắn cũng kém hiệu quả hơn. Yêu cầu khá nhiều cấu hình. Bạn cũng sẽ cần chứng chỉ TLS đáng tin cậy.

  • Bảo mật tương tự, nhưng một cách phổ biến hơn là sử dụng SSH. Nó là mặc định nếu không có giao thức nào được chỉ định trên dòng lệnh. Được cung cấp bởi SSH, nó cung cấp mã hóa mạnh mẽ và cả xác thực mật khẩu và khóa. Mặc dù độc đáo, có thể cho phép truy cập nặc danh theo cách này.

Lời khuyên của tôi sẽ tùy thuộc vào trường hợp sử dụng kho của bạn:

  • kho riêng và nhóm người dùng nhỏ: SSH

  • kho lưu trữ công khai, bất kỳ số lượng bản sao nào, nhưng một nhóm nhỏ người dùng đặc quyền đẩy: HTTP và Git (chỉ tìm nạp) + SSH (+ truy cập đẩy)

  • bất kỳ điều nào ở trên, nhưng với số lượng lớn người dùng đặc quyền đẩy: bạn có thể không hiểu triết lý của Git.

Một số mạng công cộng hoặc doanh nghiệp có thể chặn lưu lượng Git và SSH. Nếu bạn thực sự cần truy cập vào kho của mình từ bất cứ đâu , hãy cân nhắc sử dụng cả HTTPS và SSH.


Bạn có thể nhận chứng chỉ TLS miễn phí cho HTTPS từ startedsl.com. Được tin cậy bởi tất cả các hệ điều hành / Trình duyệt chính.
WhyNotHugo


2

Bạn có thể sử dụng HTTPS để truy cập chỉ đọc, nếu kho lưu trữ của bạn ở chế độ công khai vì nó dễ sử dụng ở phía máy khách. Nếu không bạn chỉ nên sử dụng SSH. Trong mọi trường hợp, bạn nên sử dụng SSH để truy cập ghi vì nó có quản lý xác thực tốt hơn.


oh, vậy có thể trộn cả hai không? SSH để truy cập ghi và đọc và Https để truy cập chỉ đọc dễ dàng?
Stephane Rolland

Đúng vậy Nó không phải là một vấn đề nhiều.
Christopher Perrin
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.