Я читал спецификацию FHS на http://www.pathname.com/fhs/pub/fhs-2.3.html чтобы выяснить, где должен храниться (частный) ключевой файл SSH, который будет использоваться для панели администрирования VPS, над которой я сейчас работаю. Этот ключевой файл должен быть доступен только главному серверу (тому, на котором он размещен) и будет использоваться для туннелирования связи libvirt через SSH.
Насколько я понимаю, это означает, что ключевой файл должен храниться в подкаталоге в /etc
, поскольку он статичен и зависит от хоста. Это верно?
по моему мнению:
/etc
сказал бы где найти ключ.
/usr/local
или /var
дерево может быть лучшим подходом или ~/.ssh
на соответствующих пользователей.
Система, в которой я работаю, использует /etc/ssl/certs
для сертификатов и /etc/ssl/private
для ключей. Защита на /etc/ssl/private
каталог - 710. Каталог владеет корнем, и группа может получить доступ к ключам, только если ей известно их имя. Тщательное использование групп и разрешений может обеспечить более точный доступ к ключам для пользователей без полномочий root.
РЕДАКТИРОВАТЬ: Как отметил @UtahJarhead, SSH не является SSL (TLS). У SSH обычно нет проблем с размещением ключей, поскольку они размещаются инструментами. Оба метода можно использовать для безопасного доступа. SSL / TLS использует подписанные сертификаты CA (Certficate Authority), хранящиеся, как указано выше.
SSH использует неподписанные сертификаты. Ключи сервера (хоста) хранятся в / etc / ssh, и ключ имеет разрешение 600, разрешающее только root-доступ для чтения. Они генерируются и устанавливаются при установке демона. Клиентские / пользовательские ключи хранятся в ~ / ssh (он же $ HOME / ssh), и все стандартные инструменты размещают их соответственно. Когда открытый ключ копируется для доступа без пароля, он также сохраняется в ~ / ssh для целевого пользователя в целевой системе.
закрытый ключ ssh может не зависеть от хоста. Одна пара ключей ssh может использоваться для подключения пользователя к неограниченному количеству хостов. К ключам ssh необходимо иметь возможность ссылаться для каждого входа в систему. В sshd_config
есть AuthorizedKeysFile
который устанавливает место, где хранятся закрытые ключи. Если вы заинтересованы в хранении /etc
, это возможно, однако это не «конфигурация системы, зависящая от хоста» в соответствии с рекомендациями FHS. Кажется, он лучше всего подходит для расположения по умолчанию в /home/${USER}/.ssh/authorized_keys
поскольку он должен быть уникальным для каждого пользователя.