![dropbear 和 OpenSSH 主机密钥兼容吗?](https://linux22.com/image/37463/dropbear%20%E5%92%8C%20OpenSSH%20%E4%B8%BB%E6%9C%BA%E5%AF%86%E9%92%A5%E5%85%BC%E5%AE%B9%E5%90%97%EF%BC%9F.png)
标题基本上说明了一切。但请注意:主机密钥,而不是登录密钥。
如果它们开箱即用不兼容,是否有办法在它们之间进行转换 - 在这种情况下,步骤是什么?
理由:如果启动失败,能够在 initrd 范围内启动 dropbear 实例就好了,但可以通过合并通常安装在主机上的 OpenSSH 中的主机密钥(通过 initramfs-tools 挂钩)来实现这一点。
答案1
在我提到的误解之后主持人键而不是登录键,我决定自己深入研究一下。要点是确定格式是否符合兼容的,而不是它们是否不同(我知道它们是不同的)。
尝试在已经安装了 OpenSSH 的系统上安装 dropbear 当然失败了,但这不是练习的重点。在安装期间(以及失败之前)输出显示:
Converting existing OpenSSH RSA host key to Dropbear format.
因此,在子文件夹中快速apt-get source dropbear
执行“-ing”会产生:grep
debian
dropbear.postinst: echo "Converting existing OpenSSH RSA host key to Dropbear format."
有希望。脚本中的相关行dropbear.postinst
如下:
echo "Converting existing OpenSSH RSA host key to Dropbear format."
/usr/lib/dropbear/dropbearconvert openssh dropbear \
/etc/ssh/ssh_host_rsa_key /etc/dropbear/dropbear_rsa_host_key
显然dropbear
附带了一个名为 的工具dropbearconvert
,该工具.c
在源码中有一个源文件,并附带一个man
页面:dropbearconvert(1)
。因为我无法提供该手册页的在线版本,所以要点如下:
SYNOPSIS
dropbearconvert input_type output_type input_file output_file
[...]
OPTIONS
input type
Either dropbear or openssh
output type
Either dropbear or openssh
input file
An existing Dropbear or OpenSSH private key file
output file
The path to write the converted private key file