множественные SSH-ключи на macOS
#капитанскаястатья #captainsarticle
На работе мы пользуемся gitlab. В гитлабе у меня заведен публичный ключ, на машине хранится он же + приватный ключ. Когда-то я создал эту пару ключей со стандартными именами id_rsa/id_rsa.pub, добавил приватный ключ в ssh-agent и забыл.
Недавно мне для рабоче-учебного проекта понадобился уже личный github-аккаунт. Создал пару ключей с другими именами id_rsa_github/id_rsa_github.pub, закинул публичный ключ в github, добавил ключ в ssh-agent. Однако попытка сделать git push ничего не дала.
сообщение со словами Permission denied — это такой тонкий намёк, что вы что-то делаете не так.
Вылечилось это добавлением публичного ключа в файл ~/.ssh/known_hosts.


Всё заработало. После перезагрузки макбука я снова столкнулся с permission denied. Проверил known-hosts, запись на месте. Проверил папку ~/.ssh — файлы ключа на месте. Проверил активные ключи в агенте — гитхабовский ключ отсутствовал. Непорядок. Надо чтобы ключ самостоятельно был в ssh-agent (чтобы было два ключа, на скрине).

Для этого в надо создать файл ~/.ssh/config , в котором прописать инфо для ключей с нестандартными названиями.

В качестве хоста можно проставить * , если почему-то нет уверенности в имени хоста (интересно, такое может быть?..). Все новые ключи также следует добавлять в этот файл. После добавления достаточно перезагрузить терминал (команда reset в текущем окне либо открыть новую вкладку терминала). That’s it!
PS: эпичный ответ на StackOverFlow
