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