У меня есть несколько ключей SSH, и у меня также есть учетная запись на bitbucket и github. как когда я использую тянуть это дает мне ошибку
:/var/www/proj$ git pull origin master
conq: repository access denied.
fatal: The remote end hung up unexpectedly
или если я ssh на сайте Bitbucket, он дает ошибки задницу открытый ключ запрещен
:~$ ssh git@bitbucket.org
Permission denied (publickey).
Как я могу решить эту проблему и использовать разные ключи с разными учетными записями.
Ответы:
Все это собрано с веб-сайта и stackoverflow, надеюсь, это поможет новичкам в ssh
так что вы можете иметь много ключей SSH
Примечание: нам нужно добавить его в ssh-agent, возможно, будет добавлен id_rsa, поэтому нам нужно добавить другой закрытый ключ
Теперь мы добавили оба ключа ssh в ssh-agent
у нас есть один для bitbucket и один для github
поэтому мы создаем файл конфигурации, как это
Примечание: я использую 2 разных ключа для 2 разных учетных записей на bitbucket и один для github.
Теперь нам нужно указать репозиторию git, какой хост использовать, чтобы я получил этот конкретный ключ ssh для этой конкретной учетной записи.
изменить
git@bitbucket.orgyyyuser/yyyproject.git
наgit@bit-yyyuser:yyyuser/yyyproject.git
так в папке проекта и добавить удаленный URL
в другом проекте
теперь вы можете легко нажимать и тянуть
и другой проект
теперь у меня нет проекта github на локальной машине, поэтому нам нужно клонировать проект, но нам нужно внести небольшое изменение в URL для клонирования
наш URL такой
поскольку мы должны клонировать его с определенными ключами, нам просто нужно изменить имя хоста на хост, который мы определили
как определено в файле конфигурации
и теперь мы можем клонировать
мы определили разные ключи ssh для разных хостов, один для git и один для bitbucket, теперь система знает, какие ключи ssh будут использоваться с каким хостом.
Теперь мы можем легко тянуть, толкать.
источник
Я настраиваю
~/.ssh/config
, вот так:затем используйте собственное имя хоста вместо реального домена в URL-адресе git:
Для более подробной информации, пожалуйста, прочитайте здесь: http://itblog.study.land/how-to-specify-different-ssh-keys-for-git-push-for-a-given-domain/
источник