Как вы управляете SSH ключами?


15

У меня есть сервер с несколькими пользователями, у каждого из которых есть несколько авторизованных ключей SSH. Есть ли эффективный способ (утилита командной строки?), Чтобы отслеживать, какой ключ принадлежит кому и быстро удалить / добавить ключи (кроме ssh-copy-id)?


1
Сценарии оболочки могут легко отслеживать время входа в систему из журналов и манипулировать файлами в .ssh ... Я знаю, что это не то, что вы ищете, поэтому это комментарий, а не ответ
RobotHumans

1
Использование последней части каждой строки .ssh/authorized_keysпредназначено для комментариев (из man sshd: «Открытые ключи протокола 1 состоят из следующих разделенных пробелами полей: параметры, биты, экспонента, модуль, комментарий. Открытый ключ протокола 2 состоит из: параметров, типа ключа, ключ в кодировке base64, комментарий. "). И чтобы ответить на вопрос, я использую, vimно любой редактор должен это сделать.
Shellholic

Конечно, если у каждого пользователя есть отдельная учетная запись, проблем не возникает, если все записи находятся в каждой домашней папке (или на самом деле в .ssh / authorized_keys, но в любом случае).
Олли

@shellholic, у тебя хороший ответ. Разместите его так, чтобы его можно было пометить как таковое :)
djeikyb

@djeikyb Хорошо, готово, но я должен немного
закончить

Ответы:


3

Вы можете использовать последнюю часть каждой строки, .ssh/authorized_keysпредназначенной для комментариев. От man sshd:

Открытые ключи протокола 1 состоят из следующих разделенных пробелами полей: параметры, биты, экспонента, модуль, комментарий. Открытый ключ протокола 2 состоит из: параметров, типа ключа, ключа в кодировке base64, комментария.

И чтобы ответить на вопрос, я использую, vimно любой редактор должен это сделать.

Мои комментарии обычно содержат:

  • Дата создания
  • физическое местоположение: создание компьютера / USB-накопителя (я предпочитаю не перемещать закрытый ключ, а генерировать / отзывать его и знать, где они находятся)
  • 1-2 слова о цели (для какого логина, для какого клиента, для какого скрипта)

3

Я бы проверил проект Monkeysphere . Он использует концепцию сети доверия OpenPGP для управления ssh-авторизованными файлами sys и known_hosts без необходимости изменения клиента или сервера ssh.



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.