10 분 동안 여러 git ssh 연결 을 로 컬 로 설정 하 는 방법 을 알려 드 립 니 다.

5308 단어 git.ssh잇닿다
머리말
요즘 컴퓨터 바 꿨 어 요?로 컬 에 여러 git ssh 연결 을 설정 하 는 방법 을 기억 하 십 니까?일반적으로 회 사 는 자신의 네트워크 에 배 치 된 gitlab 서버 를 사용 하여 코드 관 리 를 합 니 다.개발 자 는 회사 의 사용자 이름과 회사 의 메 일 을 사용 합 니 다.개인 적 인 오픈 소스 프로젝트 에서 우리 의 코드 는 github 에 맡 겨 져 있 습 니 다.이 럴 때 두 개 이상 의 SSH-Key 가 로그 인하 여 코드 의 추출 과 푸 시 를 편리 하 게 해 야 합 니 다.
문장의 대강
  • ssh key 모두 보기
  • gitlab 내부 네트워크 와 github 외부 네트워크 ssh
  • 를 각각 설정 합 니 다.
  • 테스트 진행
  • STEP 1:모든 SSH-Key 보기
    bash/zsh 터미널 열기:다음 명령 실행
    
    $ cd ~/.ssh/
    $ ls
    
    출력 은 다음 과 같 습 니 다:
    KaydeMBP:~ kayliang$ cd ~/.ssh/
    KaydeMBP:.ssh kayliang$ ls
    config   github_id-rsa.pub gitlabnei_id-rsa.pub
    github_id-rsa  gitlabnei_id-rsa known_hosts
    두 번 째 단계:ssh-key 를 만 들 고 회사 의 GitLab 을 설정 합 니 다.
    ~/.ssh/디 렉 터 리 에 gitlab 생 성id-rsa 와 gitlabid-rsa.pub 비밀 키 와 공개 키.
    
    $ ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/gitlabnei_id-rsa
    
    Public key 를 보 세 요.gitlabneiid-rsa.pub 의 내용 을 회사 GitLab 서버 의 SSH-key 설정 에 붙 입 니 다.
    
    #               ,    
    cat ~/.ssh/gitlab_id-rsa.pub
    
    형식 은 다음 과 같 습 니 다.전체 텍스트 를 ssh-rsa 를 포함 하여 클립보드 에 복사 하 는 것 을 기억 하 십시오.
    
    ssh - rsa;
    
    xxxxxxxxx;
    xxxxx;
    
    
    그리고 사이트 의 ssh 설정 에 붙 여 넣 기:

    STEP 3:Github SSH-Key 생 성
    ~/.ssh/디 렉 터 리 에 github 생 성id-rsa 와 githubid-rsa.pub 비밀 키 와 공개 키.우 리 는 githubid-rsa.pub 의 내용 을 github 서버 의 SSH-key 설정 에 붙 입 니 다.
    
    ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/github_id-rsa
    
    네 번 째 단계:~/.ssh 디 렉 터 리 에 config 프로필 을 추가 하여 여러 SSH-Key 를 구분 합 니 다.
    1.SSH keys 를 식별 하 는 새로운 비밀 키 추가
    기본 값 은 id 만 읽 기rsa,SSH 가 새로운 비밀 키 를 식별 하기 위해 서 는 새로운 비밀 키 를 SSH 에이전트 에 추가 해 야 합 니 다.
    
    #          
    ssh-add -l
    
    3072 SHA256:xxxxxxxxxx [email protected] (RSA)
    
    
    
    $ ssh-agent bash
    $ ssh-add ~/.ssh/github_id_rsa
    $ ssh-add ~/.ssh/gitlabnei_id_rsa
    
    
    이 단 계 는 매우 중요 합 니 다.그렇지 않 으 면 뒤에서 git clone 을 진행 하여 ssh 주 소 를 가 져 오 는 창고 에 오류 가 발생 할 수 있 습 니 다.
    KaydeMBP:chengdu-project kayliang$ git clone ssh://[email protected]:5337/xdata/SH2019GH109/chengdu-natural-resources-cli3.git
    Cloning into 'chengdu-natural-resources-cli3'...
    no such identity: gitlabnei_id-rsa: No such file or directory
    [email protected] : Permission denied (publickey).
    fatal: Could not read from remote repository.
    Please make sure you have the correct access rights
    and the repository exists.
    2.config 프로필 추가
    
    vi ~/.ssh/config
    설정 파일 의 내용 은 다음 과 같 습 니 다.여기 서 주의해 야 할 것 은 설정 한 정 보 는 창고 인터페이스 에 있 는 ssh 의 주소 와 일치 해 야 합 니 다.http 주소 와 ssh 주소 의 포트 가 다 를 때 가 있 기 때 문 입 니 다.

    주소:ssh://[email protected]:5337/xdata/SH2019GH109/xxxxx.git
     위의 주소 에 따라 다음 과 같이 설정 할 수 있 습 니 다.
    
    # gitlab
     Host xxxxx.amazonaws.com.cn #     ssh     ip
     PreferredAuthentications publickey
     IdentityFile ~/.ssh/gitlabnei_id-rsa
     Port 5337 #     ssh      
    
    # github
    Host github.com
     HostName github.com
     PreferredAuthentications publickey
     IdentityFile ~/.ssh/github_id-rsa
     
    #      ...
    
    
    프로필 매개 변수:
  • Host:인식 하고 자 하 는 모델 로 볼 수 있 습 니 다.인식 하 는 모델 에 대해 해당 하 는 호스트 이름과 ssh 파일 을 설정 할 수 있 습 니 다.
  • HostName:호스트 의 호스트 이름 에 로그 인 합 니 다.
  • 사용자:로그 인 이름.
  • Identity File:위 사용자 가 대응 하 는 idenity File 경 로 를 가리 킵 니 다.
  • 포트:ssh 포트
  • STEP 5:테스트
    테스트 github 외부 네트워크 ssh 주소
    
    ssh -T [email protected]
    출력:
    Hi Jecyu! You've successfully authenticated, but GitHub does not provide shell access.
    테스트 회사 네트워크 ssh 주소
    
    ssh -T [email protected]
    Welcome to GitLab, @linjy!
    회 사 를 성공 적 으로 연결 한 gitlab 입 니 다.
    마지막.
    git clone 을 사용 하여 github 개인 프로젝트 와 gitlab 의 사내 네트워크 프로젝트 를 각각 가 져 옵 니 다.
    
    git clone ssh://xxxx.amazonaws.com.cn:5337/xdata/SH2020GH036/xxxx.git
    cd my-project
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master
    
    개인 프로젝트 와 회사 프로젝트 의 계 정과 메 일 박스 가 다 르 기 때문에 각자 의 창고 에서 설정 하 는 것 을 기억 하 세 요.이렇게 제출 할 때 commt 기록 의 사용자 와 메 일 은 모두 정확 합 니 다.물론 이 단 계 는 ssh 로 제출 하고 얻 을 수 있 는 지 에 영향 을 주지 않 습 니 다.다만 commt 기록 을 볼 때 더욱 뚜렷 합 니 다.
    
     git config user.name xxxx
     git config user.email [email protected]
    작은 매듭
    본 고 는 필자 가 실천 에서 기록 한 것 이 고 인터넷 에서 우수한 작가 경험 도 참고 했다.만약 에 잘못 이 있 으 면 지적 해 주 십시오.
    참고 자료
    더 나 아가 SSH 지식:https://segmentfault.com/q/1010000000835302과 의 책 을 읽 고 이해 합 니 다.
    git 매 뉴 얼
    10 분 동안 로 컬 에 여러 개의 git ssh 연결 방법 을 설정 하 는 방법 을 알려 드 리 는 이 글 은 여기까지 입 니 다.더 많은 git ssh 연결 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기