Найти все ключи развертывания репозитория GitHub?

#github #ssh-keys #github-cli

#github #ssh-ключи #github-cli

Вопрос:

Я пытаюсь добавить новый SSH-ключ в свою учетную запись GitHub, но он говорит, что ключ уже используется. У меня сотни репозиториев, и я не хочу просматривать каждый из них, чтобы узнать, какой из них использует этот SSH-ключ для развертывания. Есть ли способ автоматизировать это?

Ответ №1:

Теперь это доступно в версии gh-cli 1.6.0 . Чтобы перечислить все ssh-ключи, выполните следующую команду:

 gh ssh-key list
 

Чтобы добавить новый ssh-ключ:

 gh ssh-key add [<key-file>] --title "Your Key Name"
 

Ссылка.

Комментарии:

1. В этой команде указан ssh-ключ, связанный с вашей учетной записью, а не ключи развертывания, настроенные для каждого проекта

Ответ №2:

Мой подход к перечислению ключей развертывания (не ключей уровня учетной записи) всех моих репозиториев:

 for repo in `gh repo list | awk '{print $1}'`;
  do echo "==== $repo ====";
  gh repo -R $repo deploy-key list;
done
 

Комментарии:

1. Так не работает (больше?)

2. В моем случае он по-прежнему отлично работает… Я получаю список всех ключей развертывания SSH для каждого из моих репозиториев (я не говорю о SSH-ключах учетной записи)

3. Спасибо, что ответили на этот cgdave, который заставил меня провести расследование сейчас. Оказывается, версия github-cli, которая поставляется с ОС Solus, не понимает gh repo -R . Скомпилировано 2.5.2 из исходных текстов, и теперь все работает нормально.