git 서버에 대한 SSH 및 HTTP의 장단점은 무엇입니까?


23

자식 서버를 설정하고 싶습니다. 몇 가지 사용법을 자세히 설명했습니다.

일부는 Ssh를 통해 액세스 가능한 git-server 설치에 대해 설명하고 다른 일부는 HTTP를 통해 액세스 할 수 있습니다. (다른 사람들은 gitolite와 같은 도구를 조언합니다).

SSH 또는 HTTP를 선택하는 장단점이 있습니까? HTTP를 사용하면 파일 전송 속도가 상당히 느려 보이지만 명심해야 할 다른 것들이 있는지 궁금합니다.

git 서버를 설정하는 가장 일반적인 방법은 무엇입니까?

답변:


22

가장 일반적인 방법이 무엇인지 묻는 동안 상황을 살펴보고 한 프로토콜이 다른 프로토콜을 배제하지 않는다는 것을 기억하는 것이 좋습니다. 나중에 필요한 경우 더 많은 액세스 프로토콜을 추가하십시오.

  • 가장 효율적 이고 빠른 것은 기본 Git 데몬을 사용하는 것입니다. 그러나 암호화 나 인증이없는 기능은 거의 없습니다. 리포지토리의 공개 읽기 전용 미러에 적합합니다. 성능이 필요한 경우 OS와 함께 제공된 버전이 아닌 최신 버전을 설치하십시오.

  • 가장 호환 가능한 방법은 HTTP입니다. 네이티브 Git보다 덜 효율적이지만 그다지 큰 차이는 아닙니다. HTTP의 가장 중요한 전문가는 방화벽 침투 및 프록시 지원입니다. 대부분의 게이트웨이 / 방화벽에 대한 일반적인 다른 HTTP 트래픽으로 나타납니다.

  • HTTPS는 더 안전 하지만 필연적으로 효율성도 떨어집니다. 약간의 구성이 필요합니다. 신뢰할 수있는 TLS 인증서도 필요합니다.

  • 비슷한 보안이지만보다 일반적인 방법은 SSH를 사용하는 것입니다. 그것은이다 기본적 어떤 프로토콜이 명령 행에 지정되지 않은 경우. SSH로 구동되며 강력한 암호화와 암호 및 키 인증을 모두 제공합니다. 기존과 달리 익명 액세스를 허용 할 수도 있습니다.

내 조언은 리포지토리의 사용 사례에 따라 다릅니다.

  • 개인 저장소 및 소규모 사용자 그룹 : SSH

  • 퍼블릭 리포지토리, 모든 수량의 복제본, 소규모의 푸시 권한 사용자 그룹 : HTTP 및 Git (페치 전용) + SSH (+ 푸시 액세스)

  • 위의 내용 중 하나이지만 푸시 권한이 많은 사용자는 Git의 철학을 이해하지 못할 수 있습니다.

일부 공용 또는 회사 네트워크는 Git 및 SSH 트래픽을 차단할 수 있습니다. 어디에서나 리포지토리에 액세스해야하는 경우 HTTPS와 SSH를 모두 사용하십시오.


startssl.com에서 HTTPS 용 무료 TLS 인증서를 얻을 수 있습니다. 모든 주요 OS / 브라우저에서 신뢰합니다.
WhyNotHugo


2

리포지토리가 클라이언트 쪽에서 사용하기 쉽기 때문에 공용 인 경우 읽기 전용 액세스에 HTTPS를 사용할 수 있습니다. 그렇지 않은 경우 SSH 만 사용해야합니다. 어쨌든 인증 관리가 더 우수하므로 쓰기 액세스에 SSH를 사용해야합니다.


오, 그래서 둘을 혼합하는 것이 가능합니까? 쓰기 및 읽기 액세스를위한 SSH 및 쉬운 읽기 전용 액세스를위한 Https?
Stephane Rolland

그렇습니다. 큰 문제는 아닙니다.
Christopher Perrin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.