Вы должны объявлять различные ключи SSH в ~/.ssh/config
файл, как я объяснил в «How to manage multiple ssh keys in the ~/.ssh directory»
Я бы рекомендовал не использовать имя по умолчанию для ключей, а:
~/.ssh/proj1
~/.ssh/proj1.pub
~/.ssh/proj2
~/.ssh/proj2.pub
И тогда есть ~/.ssh/config
как:
Host ghproj1
User git
Hostname github.com
IdentityFile ~/.ssh/proj1
IdentitiesOnly yes
Host ghproj2
User git
Hostname github.com
IdentityFile ~/.ssh/proj2
IdentitiesOnly yes
Вы должны изменить происхождение URL в обоих РЕПО:
cd /path/to/cloned/proj1
git remote set-url origin ghproj1:yourProject1
cd /path/to/cloned/proj2
git remote set-url origin ghproj1:yourProject2
Смотри на:
URL как ghproj1:yourProject1
является SSH один, который будет явно использовать ключ, указанный в ~/.ssh/config
для записи ghproj1
.
В случае с ФП в (answer below), правильный URL будет:
~/.ssh/id_recaprojekt
Примечание: вам нужно указать путь к закрытому ключу (частный, не публично, а не .pub
)
cd /path/to/cloned/plastickychirurg
git remote set-url origin plastickychirurg:michalfeher/plastickychirurg.git
cd /path/to/cloned/recaprojekt
git remote set-url origin recaprojekt:michalfeher/recaprojekt.git
Обратите внимание, что я добавил «Hostname» в записи Host.
Вся идея этих записей в ~ /.SSH/конфигурационный файл не (повторить не) ставить git
или github.com
в URL (это делается для вас элементов, связанных с каждой записи):
Итак:
[email protected]:michalfeher/recaprojekt.git
является так же, как:
recaprojekt:michalfeher/recaprojekt.git
за исключением второго URL будет использовать SSH ключ
Спасибо вам ответить @VonC! Но, видимо, я делаю что-то неправильно. Я приведу вам свои примеры. –