Назад | Перейти на главную страницу

Должен ли я создавать новый закрытый ключ ssh в каждой системе?

Мне нужно подключиться к нескольким серверам с нескольких устройств через SSH. Мне интересно, следует ли мне создавать новый файл id_dsa на каждом устройстве, с которого я подключаюсь, или нет проблем с копированием одного и того же файла id_dsa на каждое устройство.

Например, у меня есть основная настольная система на основе Ubuntu и MacBook Pro с ssh. И у меня есть нетбук на базе Windows с установленной Putty. И у меня есть телефон Android с ConnectBot. С любого из этих устройств мне может потребоваться подключиться по SSH к десяткам различных физических и виртуальных серверов.

На каждом сервере должен быть установлен мой открытый ключ. Кроме того, для моих учетных записей GitHub и Codaset требуется мой открытый ключ.

Чтобы упростить управление ключами, я подумываю использовать один и тот же закрытый ключ во всех этих системах. Это обычная практика или лучше иметь закрытый ключ в каждой системе?

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

Надеюсь, вы используете закрытые ключи, защищенные паролем?

В нашей практике управления у нас есть «роли» с низким, средним и высоким уровнем безопасности. Каждая роль использует разные ключи. Закрытые ключи с высокой степенью защиты никогда не должны передаваться на внешние ресурсы, использоваться на портативных компьютерах, которые могут быть потеряны / украдены и т. Д. Ключи со средним и низким уровнем защиты могут использоваться в более широком диапазоне сценариев.

Я предлагаю изучить ваши шаблоны использования и посмотреть, что с тех пор происходит с точки зрения ролей безопасности. Какой ущерб наносит ваш закрытый ключ?

Рассматривали ли вы возможность размещения своего закрытого ключа SSH на аппаратном устройстве, с которого его нельзя украсть, исключив возможность компрометации ключа без проблем?

Как аппаратные модули безопасности, так и смарт-карты можно использовать для безопасного хранения закрытых ключей SSH, что позволяет выполнять все криптографические операции на устройстве, а не в операционных системах. Однако они не являются панацеей, так как для этого также требуются устройства резервного копирования на случай отказа оборудования.

Совершенно верно. Вы всегда можете добавить все ключи в свой файл authorized_keys2. Мне нравится предложение Джеффатракейда. Однако я бы использовал разные закрытые ключи для каждого устройства - почему бы и нет. Потеряйте свой Android. Просто удалите ключ из списка авторизованных ключей. Если вы этого не сделаете, вам придется заново восстанавливать этот уровень ключа.

Тем не менее, это зависит от того, как вы воспринимаете риск, связанный с этими активами. Очевидно, что вы не хотите терять ключи, но некоторые из них вы можете подвергнуть большему риску, например, github против корня вашего vps.

Вы помните, когда у Debian была небольшая проблема с энтропией при генерации ключей SSH? Именно тогда я хорошо усвоил урок.

У меня есть собственный закрытый ключ (ключи) для моих личных вещей, например, для доступа к моим личным серверам. У меня есть «универсальный» ключ, с помощью которого я могу попасть в большинство блоков разработки, а затем вырезать ключи для каждого клиента, которого я обслуживаю.

Я также храню очень подробный список ключей на каких машинах на случай, если мне придется срочно их заменить или удалить.

Для всего остального, что серьезно, я просто использую LDAP / PAM, на случай, если мне придется кого-то удалить еще в спешке, спешу.