@Leffken
Студент, как студент!

Как использовать несколько ключей одного сервера в git?

Есть уже сгенерированный ключ (и добавленный в репозиторий)
если имя ключа изменить на id_rsa (стандартный, но создавал НЕ с таким именем) то git работает как часы, а вот если меняю на другое имя (и публичный и приватный) в данном случае id_rsa вообще нет и есть .ssh/config, в котором :
Host host_h1
 HostName bitbucket.org
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/h1
 
Host host_h2
 HostName bitbucket.org
 User jobsearch
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/h2

То при попытке работать с git получаю :
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Порыл в сети, не нашел внятного объяснения, там зачем то все делают так :
git -vT git@github.com
Не очень понял зачем это, получил тот же Permission denied (publickey), да в общем то не думаю что мне это нужно мне надо только с репозиторием работать.
Не подскажете что не так делаю
PS это нужно для того что на сервере 2 проекта, и при попытке во 2-ой репозиторий запихнуть публичный ключ 1-го проекта получаю ошибку на bitbucket что такой ключ уже существует. Видимо по всей базе прогоняет.
  • Вопрос задан
  • 353 просмотра
Решения вопроса 1
@miksir
IT
Битбакет, равно как и гитхаб используют ключ для определения имени пользователя. По-этому, User при SSH коннекте в этим серверам всегда один - git. Т.е. нужно убрать User jobsearch (или заменить на User git, да и в первом случае можно поставить User git).
Далее, что бы ssh выбрал разные ключи, при подсоединении нужно указывать не имя оригинального хоста, а имя алиаса хоста (тот, что в Host). Т.е. git clone host_h2:/... и git clone host_h1:/...., ну или git clone git@host_h2:/... и git clone git@host_h1:/.... если в конфиге убрали User.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы