これはすべてウェブサイトと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に追加しました
bitbucket用と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に1つの異なるキーを使用しています。
次に、特定のアカウントの特定のsshキーを取得するために、使用するホストをgitリポジトリに指示する必要があります
変更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$
ホストごとに異なるsshキーを特定しました。1つはgit、もう1つはbitbucketです。システムは、どのホストでどのsshキーを使用するかを認識しています。
これで、簡単にプル、プッシュできます。