SSH-ключ в Ubuntu 20 не работает ни с одним репозиторием Git

#git #ssh #ssh-keys

#git #ssh #ssh-ключи

Вопрос:

Только что установил Ubuntu 20.04.02LTS. Я установил Git, сгенерировал новый .ssh с помощью этого примера из DigitalOcean, после чего я добавил новый ключ (открытый) в свой репозиторий github, bitbucket и private git, и он завершается ошибкой со всеми тремя с обычным сообщением: Permission denied (publickey).

Я проверил, что ключ был добавлен к агенту и что агент запущен.

версия git 2.25.1

Для тестирования я взял свой ноутбук с 16.04lts, сгенерировал новый ключ, добавил его в github (подождал 5 минут) и клонировал репозиторий без проблем.

Редактировать: запустите ssh -i ~/.ssh/private_key git@github.com , и это был пропуск.

Ответ №1:

Во-первых, если ваш ключ не использует имя по умолчанию, вам нужно будет объявить его в ~/.ssh/config файле, чтобы Git мог его использовать.

 Host gh
  Hostname github.com
  User git
  IdentityFile ~/.ssh/private_key

cd /path/to/repo
git remote set-url origin gh:<user>/<repo>
git ls-remote
 

Более простой тест:

 ssh -Tv git@github.com
 

Проверьте, получите ли вы приветственное сообщение.


Если он все еще не работает, я бы сначала протестировал его:

  • с ключом RSA
  • без ключевой фразы, чтобы избежать любого шага ssh-агента (опять же, для тестирования)
     ssh-keygen -t rsa -P "" -f ~/.ssh/newKey