Где должен храниться ключевой файл 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
так как он должен быть уникальным для каждого пользователя.