我需要在启动时将计算机设置为 AutoSSH,但我更喜欢在用于 SSH 的密钥上设置密码或其他形式的保护。有没有办法既保护密钥,又允许 AutoSSH 在系统启动时自动访问它?保护不必专门是正常的密码级别,但可以是更高的级别(例如在文件系统的一部分上)。但它仍然需要能够在重新启动时自动重新启动。谢谢!
我的案例的解决方案:这不是所描述问题的解决方案,但它解决了我的情况的需要(也许会解决其他人的问题)。该密钥用于打开与远程服务器的反向 SSH 隧道。客户端设备处于不太安全的(物理)位置,这就是需要额外保护的原因。我没有保护密钥,而是限制了允许访问该密钥在远程服务器上执行的操作(即服务器仅允许该密钥建立反向 SSH 隧道,但不允许执行任何其他操作)。
答案1
你的要求是不可能实现的。密码/口令必须由某人编写才能以某种方式有用。如果您加密密钥并将密码存储在其旁边(sshpass
脚本expect
),则加密密钥没有意义。
因此,您可以拥有安全性(每次重新启动时都需要密码),也可以拥有高可用性(存储非加密密钥)。
最后一种可能性是使用某些 HSM 模块或智能卡。它将防止任何人在其他地方复制密钥,但您仍然需要将 PIN 码存储在其旁边,以便能够在 HSM 上执行私钥操作。