Как вы управляете 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 слова о цели (для какого логина, для какого клиента, для какого скрипта)
shellholic
источник
3

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

Da1T
источник
0

Также есть ssh-import-idвозможность безопасно импортировать открытые ключи SSH пользователей с Launchpad.net .

Дастин Киркланд
источник