我在我的个人服务器 (Debian Jessie) 上设置了一个加密的 LVM 分区。因此每次我需要重新启动它时,我都必须连接到安装在 initramfs 中的 dropbear,解锁磁盘,关闭连接,然后在服务器启动后连接到 OpenSSH 服务器。
问题是两个服务器具有不同的私钥/公钥对但具有相同的 IP 地址,所以我的 ssh 客户端抱怨保存的指纹~/.ssh/known_hosts
与服务器发送的指纹不同。
问题 1:
有没有办法在 dropbear 和 OpenSSH 服务器中使用相同的私钥/公钥对?或者我只能使用如下解决方法:
- 使用 2 个不同的 IP 进行启动和运行。
- 使用 2 个不同的 ssh 客户端进行启动和运行...
问题2 :
如果可以使用相同的密钥,我该怎么做?看来 dropbears 私钥的格式与 OpenSSH 不同,而且似乎是加密的,我该如何转换它们?
答案1
如果对两者使用相同的密钥,则必须将它们留在未加密的分区上(如您所描述的 initramfs),而这不是您想要的,因为私钥是敏感数据。
我宁愿建议您在标准 22 以外的不同端口上运行 dropbear。您可以在已知主机文件中输入端口号(格式为[hostname]:port key-type key
),这样您就可以避免指纹警告。