직장에서 개인 Git SSH를 사용하는 방법

2810 단어 gitssh

이야기



집에서 회사 노트북으로 일하기 때문에 개인용 컴퓨터를 시작하지 않고 개인 리포지토리에 빠르게 커밋하고 싶을 때가 있습니다. 하지만 Github는 2021년 8월에 비밀번호 인증을 차단했습니다. 지금부터 SSH 키를 사용하거나 Github에서 PAT(Personal Access Token)를 구성해야 합니다.

SSH가 훨씬 더 편리하다는 것을 알았지만 직장에서 기본 SSH 키를 이미 사용하고 있습니다.

문제



직장(또는 기본) SSH 키를 사용하여 개인 git 계정에 푸시하면 다음 오류가 발생합니다.

ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


잘못된 해결책


  • 개인 컴퓨터와 업무용 컴퓨터 모두에 동일한 SSH 키를 사용하십시오. 그거 하지마.

  • 그것은 당신이 다루고 싶지 않은 보안 문제입니다. 가정용 컴퓨터에서 업무용 노트북으로 또는 그 반대로 SSH 키를 복사하지 마십시오.
  • 랩탑의 SSH 키를 개인 GitHub 계정에 추가합니다.

  • 작업의 SSH.pub 파일에 작업 이메일이 포함되어 있고 개인 GitHub 계정과 연결되는 것을 원하지 않기 때문에 권장하지 않습니다.

    솔루션



    1. SSH 및 Git 구성



    SSH에 대해 별도의 구성 파일을 생성하고 Git에서 이러한 별도의 SSH 파일을 사용하도록 합니다.

    사용하려는 각 GitHub 계정에 대해 두 개의 별도.ssh/config 파일을 생성해야 합니다. 각 구성 파일은 각 계정에 대해 SSH에서 사용할 별도의 ID를 지정해야 합니다. 미리 계정에 대해 generate separate identity keys 해야 합니다.

    host github.com
    user git
    identityfile ~/.ssh/id_ed25519 # indentity key, without .pub ending
    


    이 방법으로 ~/.ssh/work_config~/.ssh/personal_config라는 두 개의 개별 구성 파일을 만들었습니다.

    각 구성에는 다른identityfile이 사용됩니다.

    힘내 부분



    업무용 노트북에서는 글로벌 git config를 작업의 git config로 사용하는 것을 선호할 수 있습니다. 그런 다음 git config --local 를 사용하여 개인 저장소를 로컬로 구성합니다(단일 저장소로 격리됨). 그것이 제가 사용하는 전략입니다.

    작업/전역 git 구성의 경우 다음을 간단히 입력할 수 있습니다.

    git config --global core.sshCommand "ssh -F ~/.ssh/work_config"
    


    그런 다음 개인 저장소로 이동하여 개인 시스템에서 구성하는 방식으로 구성git할 수 있습니다.

    git config --local user.name # your personal config
    git config --local user.email # that you use on your personal machine
    git config --local core.sshCommand "ssh -F ~/.ssh/personal_config"
    


    이렇게 하면 git은 개인 및 업무 관련 프로젝트에 대해 서로 다른 ID 파일과 함께 서로 다른ssh 명령을 사용합니다.

    2. core.sshCommand 변경이 없는 솔루션



    의견에서 제안한 것처럼 여기에 내가 읽은 대체 솔루션이 있습니다. 매우 영리한 접근 방식:

    의견에 질문을 환영합니다. 적절하게 수정하겠습니다.

    좋은 웹페이지 즐겨찾기