我一直在阅读http://www.pathname.com/fhs/pub/fhs-2.3.html上的FHS规范,以确定哪些(专用)SSH密钥文件应该存储在VPSpipe理面板中我目前正在努力。 这个密钥文件只能用于主服务器(它被放置的那个服务器),并且将被用来通过SSH隧道进行libvirt通信。
根据我的理解,这意味着密钥文件应该存储在/etc中的一个子目录中,因为它是静态的和主机特定的。 它是否正确?
我所使用的系统使用/etc/ssl/certs作为证书,使用/etc/ssl/private作为密钥。 /etc/ssl/private目录上的保护是710. Root拥有目录,并且只有在知道其名称的情况下,该组才能访问密钥。 仔细使用组和权限可以提供非root用户对密钥的更好的访问。
编辑:正如@UtahJarhead指出,SSH不是SSL(TLS)。 SSH通常没有任何有关键放置的问题,因为它们是由工具放置的。 这两种方法都可以用来保护访问。 SSL / TLS使用如上所述存储的CA(证书颁发机构)签名证书。
SSH使用未签名的证书。 服务器的(主机)密钥存储在/ etc / ssh中,密钥有600个权限,只允许root读取权限。 这些是在安装守护进程时生成和安装的。 客户端/用户密钥存储在〜/ ssh(又名$ HOME / ssh)中,所有的标准工具都会相应地放置它们。 当公钥复制为无密码访问时,它也存储在目标系统上的目标用户的〜/ ssh中。
恕我直言 :
/etc会告诉在哪里find密钥。
/usr/local或/var树可能是更好的方法或~/.ssh对应的用户。
私人ssh密钥可能不是主机特定的。 可以使用一个单一的ssh密钥对将用户连接到无限数量的主机。 SSH密钥需要能够在每个login的基础上被引用。 在sshd_config有一个AuthorizedKeysFile ,用于设置私钥存储位置。 如果您有兴趣将它保存在/etc ,这是可行的,但是它不是按照FHS指南的“主机特定的系统configuration”。 它似乎最适合/home/${USER}/.ssh/authorized_keys中的默认位置,因为它应该对每个用户都是唯一的。