自己公司搭建的git服务器,是不是每个开发者都要把自己的SSH key放到服务器上?
淡淡烟草味
淡淡烟草味 2017-05-02 09:51:28
0
8
1015
  1. 如题,公司自家搭了git服务器,是不是要把公司每个开发者的ssh key加进来?

  2. 如果在git服务器上新建个仓库,其他人想向上提交代码,需要他们把自己的ssh key加进来么?

  3. 为什么以前在github上向别人的仓库贡献代码时不用在别人的github上加自己的ssh key,团队其他小伙伴向我仓库贡献代码也没加过他们ssh key

淡淡烟草味
淡淡烟草味

모든 응답(8)
左手右手慢动作

교미즈데라 절?
리버사이드 ID를 보여주세요.

<------------애국심, 헌신, 진실성, 친절함 사이의 경계------------>

으아아아

서버는 비밀번호 없는 로그인, 푸시 및 기타 일련의 작업 또는 인증(이 프로세스를 볼 수는 없지만 연결할 때마다 인증을 위해 개인 키를 제공해야 함)을 위해서만 SSH 공개 키를 저장합니다. ).

서버에 공개키가 저장되어 있지 않다면 당연히 인증도 가능합니다. 그렇다면 귀하의 질문에 대한 대답은 간단합니다:

  1. 아니요. Git에는 SSH와 http라는 두 가지 전송 프로토콜이 있습니다. SSH 전송을 사용하려면 비밀번호 없는 로그인(푸시 작업 등)을 위해 서버에 공개키를 추가해야 합니다. http(https) 전송을 사용하고 netrc를 수정하면 비밀번호 없는 로그인(푸시 및 기타 작업)이 가능합니다.

  2. 아니요. 1.

  3. 과 동일
  4. 정상입니다. 이유는 1.

  5. 과 같습니다.

댓글란의 누군가가 http 프로토콜을 통해 git Warehouse를 운영하는 것은 내 상상이라고 의문을 제기했습니다. 몇 장의 사진을 게시했습니다.

곡스입니다

gitlab

오시나

깃허브

kernel.org

git 소스 코드는 http

를 지원합니다.

<------------번영, 힘, 민주주의, 문명, 조화의 경계선------------>

물론 귀하의 질문은 또 다른 질문일 가능성이 높습니다:

으아아아

답변:

  1. 필요없습니다

  2. ldap 통합인증.

통합 로그인(인증) 구성 요소 중 가장 일반적으로 사용되는 인증 서버는 ldap입니다. libpam, nslcd(리눅스 시스템 로그인), sudo 권한, gitlab(gogs), 위키, 프로젝트 관리, 팀비션, 각종 접근 제어 등 다양한 *nix 시스템에 로그인을 하면, 심지어는 수집할 수 있는 모든 것 적용 범위(오픈소스)는 그룹 내 내부 애플리케이션이며, 기본적으로 LDAP 통합 로그인을 지원합니다.

<---------------자유, 평등, 정의, 법치의 경계--------- >

통합 로그인, 기본적으로 모든 대규모 웹사이트가 관련됩니다. 예를 들어 github.com은 gist.github.com에 로그인하려면 인증이 필요합니다. 자세한 내용은 github에 숨겨져 있으므로 외부에서는 볼 수 없습니다.

하지만 꼭 보아야 할 한 가지가 있습니다. 바로 OAuth 인증입니다. 예를 들어 아래 그림에서는 QQ가 Kugou Music에 로그인합니다.

시장에 있는 대부분의 통합 인증은 OAuth 프로토콜을 따르며 Taobao.com과 aliyun.com 간의 계정 및 비밀번호 교환과 같은 내부 구현이 많습니다.

내부 시스템의 통합 인증은 또 다른 프로토콜 세트인 ldap입니다.

시장에 있는 거의 모든 내부 시스템에는 등록, 로그인, 비밀번호 검색을 포함한 자체 권한 시스템이 있지만 동시에 거의 모든 시스템이 또 다른 권한 시스템인 LDAP를 지원합니다.

새 사용자가 회사에 오면 먼저 gitlab에 계정을 등록한 다음 서버에 로그인할 때 새 계정을 만들려면 관리자의 도움이 필요하다고 상상해 보세요. 두 번째 서버에서는 새 계정을 만들고 다양한 서비스에 로그인하려면 관리자의 도움이 필요하며, 새 계정을 만들려면 관리자의 도움이 필요합니다...

따라서 다음 프로젝트에는 LDAP가 필요합니다.

gitlab

젠킨스

ldap을 사용하여 호스트에 SSH로 접속할 수 있는 사용자를 균일하게 관리하세요(구성 튜토리얼):

gogs LDAP 인증:

팀비션 등 비공개 소스 애플리케이션을 비롯해 기업 내 배포 가능한 모든 애플리케이션은 기본적으로 LDAP 인증을 지원한다고 할 수 있다.

(위 SSO 및 통합인증에 대한 설명이 잘못되어 에비앙 측의 안내를 받아 수정하였습니다.)

世界只因有你
  1. 그렇습니다. 그렇지 않으면 인증을 어떻게 합니까? 물론 HTTPS를 사용하거나 바퀴를 재발명할 수 있습니다. 일을 복잡하게 만들 계획이 없다면 가장 일반적인 SSH + 키를 사용하여 로그인하는 다른 방법은 없습니다.

  2. 인증은 창고용이 아닌 사용자용입니다. 승인은 창고에 대해서만 필요합니다. (또는 지점에 따라 정확할 수도 있습니다)

  3. Github은 이미 귀하가 누구인지 알고 있기 때문입니다(인증 완료). 다음으로 해당 창고의 관리자가 푸시 권한을 부여하면 됩니다. 그러나 Github의 많은 협업은 관리자가 하나씩 수락하는 풀 요청을 통해 이루어집니다. 기본적으로 저장소의 모든 사람은 풀 요청을 제출할 권리가 있습니다.

결론적으로 gitlab이나 gitolite가 필요합니다. 전자는 웹 인터페이스(예: GitHub)와 함께 Ruby로 작성되었으며, 후자는 Perl로 작성되었으며 단지 웨어하우스 관리 자체입니다(인터페이스 없이 git 웨어하우스만 관리함).

신원 확인이라고도 하는 인증은 사용자가 누구인지 확인하는 프로세스입니다. 승인은 사용자에게 어떤 작업을 수행할 수 있는 권한이 있는지 확인하는 프로세스입니다. 그들은 하나가 아닙니다.

滿天的星座
  1. 각 계정은 자체 SSH 키를 추가해야 합니다

  2. Ssh 키를 자신의 계정에 추가했습니다. Git 서버에 코드를 제출하기 위해 SSH 키를 추가할 필요는 없지만 프로젝트에 대한 Git 권한이 있어야 합니다.

  3. GitHub에 코드를 기여할 때 계정의 SSH 키를 추가해야 합니다. 그렇지 않으면 코드를 푸시할 수 없습니다.

결론적으로 ssh + git의 원격 코드 제출 방법은 ssh 프로토콜을 기반으로 합니다. 로컬 gitlab 서버 계정이 있는 모든 사람은 개인용 컴퓨터의 ssh 키를 gitlab 계정에 추가해야 합니다. 계정을 확인하고 푸시할 수 있습니다. 또한 gitlab의 프로젝트는 권한을 설정해야 합니다. 비공개 프로젝트에는 게스트, 리포터, 개발자, 마스터 역할이 있습니다.
마지막으로 동일한 컴퓨터에서 github과 gitlab의 ssh 키를 동시에 구성하려면 여러 git 계정에 대해 여러 rsa 키를 저장하는 하나의 컴퓨터를 참조하세요

phpcn_u1582

이것이 우리 회사의 작동 방식입니다. 로컬 SSH 키를 서버에 업로드하면 git을 푸시할 수 있습니다

巴扎黑

git만 직접 설치하거나 gitweb도 설치하면 권한 제어가 제대로 이루어지지 않습니다.
서버에 gogs를 설치하고 이를 사용하여 권한을 제어할 수 있습니다.
권한은 기계가 아닌 사람에게 부여되어야 하므로 SSH 키를 사용하지 않는 것이 좋습니다.

曾经蜡笔没有小新

인증을 받기 위해.

PHPzhong

일반 git 서버에는 자체 프로젝트 관리 담당자 권한이 있습니다. 키는 인증 해제용일 뿐입니다.

给我你的怀抱

제목에서 알 수 있듯이 회사는 자체 git 서버를 설정했습니다. 회사의 각 개발자의 SSH 키를 추가해야 합니까?
git 서버에 새 창고를 만들고 다른 사람이 코드를 제출하려는 경우 자신의 SSH 키를 추가해야 하나요?

내가 github에서 다른 사람의 웨어하우스에 코드를 제공했는데 왜 내 ssh 키를 다른 사람의 github에 추가할 필요가 없었나요?

귀하의 서버가 어떤 소프트웨어를 사용하는지에 따라 github이 다른 사람의 코드 저장소에 코드를 제공할 때 포크를 한 다음 github에서 인증을 수행합니다.

github에 코드를 제출하면 이미 SSH 키가 제공됩니다.

두 번째 질문은 상황에 따라 다릅니다

사람이 많고 SSH 키(공개 키)를 모두 추가하고 싶지 않은 경우 서버가 그룹에 하나를 추가하면 그룹의 개발자가 공통 개인 키를 사용할 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿