동일한 Linux 사용자에 대해 GitHub에 대해 다른 ssh 자격 증명을 사용하는 방법

3782 단어 github
GitHub 사용자가 여러 명인 경우 ssh 키 설정이 까다로울 수 있습니다. 동일한 기본 키를 2명의 사용자에게 추가할 수 없습니다. 사용하려는 ID에 따라 다른 키를 사용하도록 시스템을 설정해야 합니다. 이 문서에서는 기본 키와 함께 추가 ssh 키를 지원하도록 ssh 구성을 설정하는 방법을 보여줍니다.

기본 키 설정



이미 하나의 ssh 키가 설정되어 있다고 가정하고 정상적으로 작동하며 the doc 에서 설명한 것과 비슷합니다. 설정의 이 부분은 변경되지 않은 상태로 남습니다. 표준 키로 표준 도메인을 계속 사용할 수 있습니다.

추가 키 설정



먼저 추가 키를 생성하고 다른 이름으로 저장되었는지 확인해야 합니다. 팔로우할 수 있습니다this documentation.

$ ssh-keygen -t ed25519 -C "[email protected]" -f another-identity


여기서 `다른 ID는 새 키가 저장되는 파일 이름입니다.

새 키 테스트



GitHub 계정에 another-identity.pub를 추가하고 다음을 사용하여 테스트합니다.sh
$ ssh -i another-identity -T [email protected]

Where -i another-identity ssh는 연결에 기본이 아닌 키를 사용합니다. 모든 것이 잘되면 GitHub 응답에 다른 프로필 이름이 표시됩니다.
sh
$ ssh -i another-identity -T [email protected]
Hi marcin-test! You've successfully authenticated, but GitHub does not provide shell access.

git CLI 구성

With the new key in place, you can create .ssh/config 거기에 설정:
Host another-indenity.github.com
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/another-identity

Now, when you can test if this piece of configuration works:

sh
$ ssh -T [email protected]
Hi marcin-test! You've successfully authenticated, but GitHub does not provide shell access.

새로운 아이디로 체크아웃

Now, let's test our access to a private repository available only on our second user:
`
$ git clone [email protected]:marcin-test/test.git

Cloning into 'test'...
ERROR: Repository not found.
fatal: Could not read from remote repository.

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

Normal clone fails, but if we replace github.com another-identity.github.com :
git clone [email protected]:marcin-test/test.git
Cloning into 'test'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

Now everything works as expected.

요약

In this article, we have seen how to set up 2 identities for your GitHub projects.

좋은 웹페이지 즐겨찾기