SSH сертификаты
Sep. 30th, 2014 10:40 amТут я задумался над вопросом, что слишком много у меня развелось ключевых пар SSH. Я держу отдельный секретный ключ на каждом устройстве. за экраном которого я могу работать, чтобы иметь возможность отзвать ключ в случае чего.
Раньше как-то меня устраивала схема с authorized_keys. Но сейчас развелось планшетов, ноутбуков, виндовых виртуалок (в которых я держу отдельные ключи, поскольку они более подвержены всяким троянам, и может понадобится отозвать ключ виртуалки, не отзывая ключ хоста). В общем authorized_keys на моей домашней машине содержит уже 15 строчек. И распространять его по всем машинам, на которые приходится заходить, надо как-то слишком часто.
А known_hosts вообще под 200 строчек, и большая часть из них про несуществующие уже машины и их ключи. А с тех пор как ssh стал имена хостов хэшировать, чистить его стало неудобно.
В общемя, ч я призадумался над вопросом, а не стоит ли перейти на использование сертификатов.
Сертификаты появились в OpenSSH довольно давно. Более менее вменяемое описание как ими пользоваться можно найти здесь
В этом случае в authorized_keys и known_hostsо станется по одной строчке со ссылокй на ключ CA (ну в known_hosts может быть две - для домашнего CA и для рабочего, чтобы не подписывать своим CA ключи не принадлежащих мне серверов).
Остаются пока следующие вопросы:
1. Как организовать распространение файла RevokedKeys (учитывая что значительная часть машин не всегда влючены)
2. Поддерживаются ли сертификаты во всяких альтернативных по сравнению с openssh клиентах и серверах, которыми приходится пользоваться - putty, vx-connectbot, dropbear, acrosync? Вот sftp-plugin к total commander по-мему их как раз поддерживает, не поддерживая старой схемы с authorized_keys.
Раньше как-то меня устраивала схема с authorized_keys. Но сейчас развелось планшетов, ноутбуков, виндовых виртуалок (в которых я держу отдельные ключи, поскольку они более подвержены всяким троянам, и может понадобится отозвать ключ виртуалки, не отзывая ключ хоста). В общем authorized_keys на моей домашней машине содержит уже 15 строчек. И распространять его по всем машинам, на которые приходится заходить, надо как-то слишком часто.
А known_hosts вообще под 200 строчек, и большая часть из них про несуществующие уже машины и их ключи. А с тех пор как ssh стал имена хостов хэшировать, чистить его стало неудобно.
В общемя, ч я призадумался над вопросом, а не стоит ли перейти на использование сертификатов.
Сертификаты появились в OpenSSH довольно давно. Более менее вменяемое описание как ими пользоваться можно найти здесь
В этом случае в authorized_keys и known_hostsо станется по одной строчке со ссылокй на ключ CA (ну в known_hosts может быть две - для домашнего CA и для рабочего, чтобы не подписывать своим CA ключи не принадлежащих мне серверов).
Остаются пока следующие вопросы:
1. Как организовать распространение файла RevokedKeys (учитывая что значительная часть машин не всегда влючены)
2. Поддерживаются ли сертификаты во всяких альтернативных по сравнению с openssh клиентах и серверах, которыми приходится пользоваться - putty, vx-connectbot, dropbear, acrosync? Вот sftp-plugin к total commander по-мему их как раз поддерживает, не поддерживая старой схемы с authorized_keys.