跳到主要内容

可以在多台主机中共享同一私钥吗?

千万别这么做,每台计算机应该拥有自己的私钥

在过去,我常将 ~/.ssh 文件夹进行拷贝到不同的主机,以此来避免重新生成密钥对,这样无疑十分方便,可是你想过这样做的坏处吗?

密钥泄漏

想想现实世界的秘密,每个知道这个秘密的人都会增加它被揭露的机会。而系统也同理,当你每一次向新的主机共享密钥,同时也在增加暴露密钥的风险,因为每个系统中都存在对应的安全隐患,越薄弱的系统安全环境,暴露密钥的几率越高。

权限隔离

对于不同的主机,所需要的权限是不同的,因此需要单独进行权限管理。假设你有一台工作电脑和娱乐电脑,其中工作电脑需要权限ABC去访问一个某个公网资源,而娱乐的电脑只需要权限A,这时如果采用 All In One 的密钥同步策略,带来的风险就是所有共享的主机,都拥有 ROOT 权限,也就是说,不管是工作电脑还是娱乐电脑,都可以访问资源池中的所有资源,这样一旦某台机器泄漏密钥,意味着 ROOT 级别的权限泄漏。

密钥更新

在很多情况下,我们需要进行密钥的更新:

  • 密钥不小心被暴露
  • 密钥过期
  • 因某种原因更换密钥

对于共享密钥而言,我们需要将每一台机器上的密钥都进行过更新,这样的操作无疑是很繁琐的,但且不论在传输过程中有可能会被泄漏,光是挨个去拷贝更新就令人望而却步。