我可以加密服务器的私有 SSH 密钥吗?

我可以加密服务器的私有 SSH 密钥吗?

当为普通用户创建密钥对时,可以选择使用 3DES 对称加密私钥。我通常认为这是一个好主意,这样即使密钥被盗,对攻击者来说也是无用的。

我注意到,在运行 sshd 的每台机器(至少基于 Ubuntu)上,安装 sshd 服务器软件时生成的私钥文件 /etc/ssh/ssh_host_rsa_key 未使用 3DES 加密。是否可以强制 sshd 使用加密密钥,而无需加密整个磁盘?

我认为这与 Apache-over-ssl 使用密钥的方式类似。如果它是加密的,则每次运行 apache 时都必须输入密码才能解密私钥。sshd 有类似的功能吗?

答案1

这没用。只有当某人获得root访问权限时,他们才能从文件中窃取密钥。如果他们获得root访问权限,他们可以sshd用记录解密密码的密钥替换它,或者他们可以从正在运行的 sshd 进程的内存中读取密钥。

因此,无论哪种方式,获得访问权限的人root都可以轻松获得私钥。您需要一个物理硬件设备来保存密钥,或者需要一个单独的安全机器来保存密钥。您无法做到这一点,并且仍然在同一台机器上使用软件处理密钥。

相关内容