alice
2 개 이상의 개인 저장소가있는 github.com 사용자를 가정 해 봅시다 repoN
. 이 예제에서는 두 개의 리포지토리 만 사용 repo1
하고repo2
https://github.com/alice/repo1
https://github.com/alice/repo2
서버 또는 여러 서버에서 암호를 입력하지 않고 이러한 저장소에서 가져와야합니다. git pull origin master
예를 들어, 암호를 요구하지 않고이 작업을 수행 하려고합니다.
ssh-agent를 다루는 것을 좋아하지 않고, ~/.ssh/config
ssh 클라이언트가 호스트 이름과 사용자 이름에 따라 사용할 개인 키를 알 수있는 파일 에 대해 발견했거나 현재 발견 하고 있습니다. 이:
Host github.com
HostName github.com
User git
IdentityFile /home/alice/.ssh/alice_github.id_rsa
IdentitiesOnly yes
계속해서 (alice_github.id_rsa, alice_github.id_rsa.pub)
키 쌍을 생성 한 다음 리포지토리 .git/config
파일로 이동하여 리모컨의 URL을 다음과 같이 수정 origin
했습니다.
[remote "origin"]
url = "ssh://git@github.com/alice/repo1.git"
마지막으로 저장소 Settings > Deploy keys
섹션으로 이동하여 내용을 추가했습니다.alice_github.id_rsa.pub
이 시점에서 git pull origin master
문제없이 비밀번호를 입력하지 않아도됩니다.
그러나 두 번째 저장소는 어떻습니까?
따라서 본능은 해당 키를 잡고 repo2
배포 키에 추가하는 것이지만 github.com은 오류가 발생하여 키가 이미 사용 중임을 알려줍니다.
이제 ssh-keygen -t rsa -C "alice@alice.com"
암호없이 사용하여 다른 키를 생성 하여 엉망이되지 않도록 키 이름을 다음과 같이 지정합니다.
repo1
키 페어 : (repo1.alice_github.id_rsa, repo1.alice_github.id_rsa.pub)
repo2
키 페어 : (repo2.alice_github.id_rsa, repo2.alice_github.id_rsa.pub)
이제 repo2
github.com의 '키 배포'구성 에 새 공개 키 를 넣었지만 이제는 ssh 문제가 있습니다.
저장소가 동일한 github.com
도메인 에서 호스팅되는 경우 ssh가 사용할 키를 어떻게 알 수 있습니까?
귀하의 .ssh/config
파일 점 github.com
과 그것의 시간이 풀을 할 때 사용할 키 모른다.
그래서 github.com에서 트릭을 찾았습니다. 다른 github.com 하위 도메인에있는 각 저장소의 삶, 이러한 경우에, 그들이 될 것이라고 당신은 ssh 클라이언트를 알 수 repo1.github.com
및repo2.github.com
먼저 .git/config
repo 클론 의 파일을 편집하는 것이 다음과 같습니다.
repo1의 경우
[remote "origin"]
url = "ssh://git@repo1.github.com/alice/repo1.git"
repo2의 경우
[remote "origin"]
url = "ssh://git@repo2.github.com/alice/repo2.git"
그런 다음 .ssh/config
파일에서 각 하위 도메인에 대한 구성을 입력 할 수 있습니다. :)
Host repo1.github.com
HostName github.com
User git
IdentityFile /home/alice/.ssh/repo1.alice_github.id_rsa
IdentitiesOnly yes
Host repo2.github.com
HostName github.com
User git
IdentityFile /home/alice/.ssh/repo2.alice_github.id_rsa
IdentitiesOnly yes
이제 git pull origin master
두 리포지토리에서 암호를 입력하지 않아도됩니다.
여러 대의 컴퓨터가있는 경우 각 컴퓨터에 키를 복사하여 재사용 할 수 있지만 다리 작업을 수행하여 컴퓨터 당 1 개의 키를 생성하고 리포하는 것이 좋습니다. 더 많은 키를 처리 할 수 있지만 손상 될 경우 취약성이 줄어 듭니다.