이것은 모두 웹 사이트 및 stackoverflow에서 수집되며, ssh를 처음 사용하는 사람에게 도움이되기를 바랍니다.
그래서 당신은 많은 ssh 키를 가질 수 있습니다
~/.ssh$ ls
yyy_id_rsa yyy_id_rsa.pub id_rsa id_rsa.pub known_hosts
참고 : ssh-agent에 다음을 추가해야하며 아마도 id_rsa가 추가되므로 다른 개인 키를 추가해야합니다
~/.ssh$ ssh-add yyy_id_rsa
이제 ssh 키를 ssh-agent에 모두 추가했습니다.
비트 버킷 하나와 github 하나
그래서 우리는 이와 같은 구성 파일을 만듭니다
~/.ssh$ nano config
Host bit-yyyuser bitbucket.org
Hostname bitbucket.org
IdentityFile ~/.ssh/yyy_id_rsa
User yyyuser
Host bit-xxxuser bitbucket.org
Hostname bitbucket.org
IdentityFile ~/.ssh/id_rsa
User xxxuser
Host git-xxxuser github.com
Hostname github.com
IdentityFile ~/.ssh/id_rsa
User xxxuser
참고 : bitbucket에서 2 개의 다른 계정에 github에 대해 2 개의 다른 키를 사용하고 있습니다.
이제 git 저장소에 사용할 호스트를 알려 주어야 특정 계정에 대한 특정 ssh 키를 얻을 수 있습니다
변화 git@bitbucket.orgyyyuser/yyyproject.git
에git@bit-yyyuser:yyyuser/yyyproject.git
프로젝트 폴더에서 원격 URL을 추가하십시오.
/var/www/yyyproject$ git remote add bit git@bit-yyyuser:yyyuser/yyyproject.git
다른 프로젝트에서
/var/www/xxxproject$ git remote add bitt git@bit-xxxuser:xxxuser/xxxproject.git
이제 밀고 당기는 것을 쉽게 사용할 수 있습니다
:/var/www/yyyproject$ git pull bit master
From bit-yyyuser:yyyuser/yyyproject
* branch master -> FETCH_HEAD
Already up-to-date.
:/var/www/yyyproject$
그리고 다른 프로젝트
/var/www/xxxproject$ git push bitt ver1
To git@bit-xxxuser:xxxuser/xxxproject.git
* branch master -> FETCH_HEAD
Already up-to-date.
:/var/www/xxxproject$
이제 로컬 컴퓨터에 github 프로젝트가 없으므로 프로젝트를 복제해야하지만 복제 할 URL을 약간 변경해야합니다.
우리의 URL은 다음과 같습니다
git@github.com:xxxuser/python.git
특정 키로 복제해야하므로 정의한 호스트로 호스트 이름을 변경하면됩니다.
git@git-xxxuser:xxxuser/python.git
구성 파일에 정의 된대로
이제 복제 할 수 있습니다
:/var/www/us$ git clone git@git-xxxuser:xxxuser/python.git
Cloning into 'python'...
remote: Counting objects: 75, done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 75 (delta 18), reused 62 (delta 8)
Receiving objects: 100% (75/75), 6.29 KiB, done.
Resolving deltas: 100% (18/18), done.
:/var/www/us$
우리는 다른 호스트, git 및 비트 버킷에 대해 다른 ssh 키를 식별했습니다. 이제 시스템은 어떤 ssh 키를 어떤 호스트와 함께 사용할지를 알고 있습니다.
이제 우리는 쉽게 당기고 밀 수 있습니다.