Где должен храниться ключевой файл SSH, чтобы соответствовать FHS?

Я читал спецификацию FHS на http://www.pathname.com/fhs/pub/fhs-2.3.html чтобы выяснить, где должен храниться (частный) SSH-файл ключа, который будет использоваться для панели администрирования VPS. В настоящее время я работаю над. Этот ключевой файл должен быть доступен только для главного сервера (тот, на котором он размещен) и будет использоваться для туннелирования связи libvirt по SSH.

Насколько я понимаю, это означает, что ключевой файл должен храниться в подкаталоге в /etc, так как он является статическим и специфичным для хоста. Это правильно?

3 ответа

Решение

Система, которой я пользуюсь /etc/ssl/certs для сертификатов и /etc/ssl/private для ключей. Защита на /etc/ssl/private каталог - 710. Root владеет каталогом, и группа может получить доступ к ключам, только если она знает их имя. Тщательное использование групп и разрешений может обеспечить более точный доступ к ключам для пользователей без полномочий root.

РЕДАКТИРОВАТЬ: Как @UtahJarhead указал SSH не SSL(TLS). У SSH обычно нет проблем с размещением ключей, поскольку они устанавливаются инструментами. Оба метода могут быть использованы для безопасного доступа. SSL/TLS использует подписанные сертификаты CA (Certficate Authority), хранящиеся, как указано выше.

SSH использует неподписанные сертификаты. Ключи сервера (хоста) хранятся в /etc/ssh, и ключ имеет разрешение 600, разрешающее доступ только для чтения root. Они генерируются и устанавливаются при установке демона. Клиентские / пользовательские ключи хранятся в ~/ssh (он же $HOME/ssh), и все стандартные инструменты размещают их соответственно. Когда открытый ключ копируется для доступа без пароля, он также сохраняется в ~ / ssh для целевого пользователя в целевой системе.

ИМХО:

/etc скажет, где найти ключ.

/usr/local или /var дерево может быть лучшим подходом или ~/.ssh на соответствующих пользователей.

Закрытый ключ ssh может не зависеть от хоста. Одна пара ключей ssh ​​может использоваться для подключения пользователя к неограниченному количеству хостов. На ключи ssh необходимо ссылаться отдельно для каждого входа в систему. В sshd_config есть AuthorizedKeysFile это устанавливает местоположение, где хранятся закрытые ключи. Если вы заинтересованы в его сохранении /etcэто возможно, однако это не "конфигурация системы для конкретного хоста" в соответствии с рекомендациями FHS. Похоже, лучше всего подходит в месте по умолчанию в /home/${USER}/.ssh/authorized_keys так как он должен быть уникальным для каждого пользователя.

Другие вопросы по тегам