Проверьте, был ли добавлен закрытый ssh-ключ в ssh-agent

#linux #bash #ssh

#linux #bash #ssh

Вопрос:

У ~/.ssh меня есть github и bitbucket файлы закрытого ключа. Оба зашифрованы, поэтому, когда я ssh-add ~/.ssh/github должен ввести пароль.

У меня есть скрипт bash для автоматизации git команд. Если идентификаторы github и / или bitbucket еще не были добавлены, тогда я хочу ssh-add их.

Я ищу функцию, подобную:

 has_identity_been_added ~/.ssh/github
  

Чтобы просто проверить, был ли добавлен закрытый зашифрованный ключевой файл.

Я нашел:

  • ssh-add -l выводит строку текста для каждого идентификатора… и я не знаю, что это такое, но это не имя файла ключа
  • ssh-add -L печатает открытый ключ, который я не сохраняю на своем локальном компьютере, поэтому я не уверен, как его проверить, не запрашивая пароль файла закрытого ключа снова.

Оба они печатают имя, которое я дал файлу ключа, например reed@laptop-x1834 (я думаю, что это было автоматическое имя, потому что я не указал -C в ssh-keygen , если мне не изменяет память).

Я не уверен, куда идти дальше. Я не хочу полагаться на ssh-keygen -C "whatever_name" .

Ответ №1:

ssh-add -l распечатайте отпечатки добавленных ключей.

Вы можете получить отпечаток открытого ключа с помощью :

 ssh-keygen -l -f id_rsa.pub
  

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

1. В любом случае, чтобы получить отпечаток пальца из файла закрытого ключа без необходимости ввода пароля? Я не храню .pub его при себе.

2. ssh-keygen также должен работать с закрытым ключом.