Переключение между SSH ключами в GitHub
Есть несколько причин следующей ошибки, при попытке подключения к репозиторию в GutHub:
ERROR: Repository not found.
fatal: Could not read from remote repository.
Самые распространенные причины - ключи не добавлены в аккаунт GitHub или неправильно настроены на локальном компьютере. Но я столкнулся с другой ситуацией, и алгоритм решения не был описан в интернете.
У меня было несколько ключей для доступа к разным репоизториям. Как переключаться между SSH ключами?
Если вы не уверены, что у вас установлены SSH ключи, посмотрите эту статью: Настройка SSH ключей для Github
Смена SSH ключей в GitHub
Если у вас несколько ключей, то алгоритм переключения между ними такой
- Выведем логи подключения, чтобы убедиться что само подключение выполняется корректно
ssh -v git@github.com - Нужно будет ввести кодовую фразу
- Если есть вот такой ответ, значит подключение удалось, но ключ не подошел
You've successfully authenticated, but GitHub does not provide shell access - Нужно прописать путь до ваших ключей, например
ssh-add ~/.ssh/my-key/mykey - Если вы видите ошибку
Could not open a connection to your authentication agent. - Нужно запустить SSH агент
eval "$(ssh-agent -s)" - В ответ получите (число может быть любое, это не важно)
Agent pid 1111 - Снова повторяем
ssh-add ~/.ssh/my-key/mykey - Вводим фразу и видим
Identy added: ... (your@mail.com)
Выбрать SSH ключи по умолчанию
Ключ по умолчанию указан в файле ~/.ssh/config в значении IdentityFile
Host *
IdentityFile ~/.ssh/название_ключа
Автозапуск ssh-agent при открытии консоли
Ключи будут выбираться автоматически и запрашивать passphrase, для этого нужно в файле ~/.bash_profile указать:
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval `ssh-agent -s`
ssh-add ~/.ssh/название_ключа
fi
Добавить комментарий