Linux:如何升级 ssh-keygen?

Linux:如何升级 ssh-keygen?

我想使用 ssh-keygen 的更新版本,因为它包含指纹的哈希功能,如下所示:

ssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub

但我当前的版本无法识别-E参数(-l参数的一部分)。

(是的,我已经有一个解决方法来获取我的指纹哈希值,但无论如何我都想升级这个工具)。

如何升级?我正在运行 Debian 8。

答案1

有两种 Debian 风格的升级方式ssh-keygen,因为openssh-client在 Debian 8 向后移植中不可用。

第一个是升级到 Debian 9,因为它有一个足够新的openssh-client软件包。

第二个是在 Debian 8 上重建 Debian 9 软件包:

sudo apt install devscripts build-essential dh-exec dh-systemd libaudit-dev libedit-dev libgtk-3-dev libkrb5-dev libpam0g-dev libselinux1-dev libssl-dev libsystemd-dev libwrap0-dev
dget http://httpredir.debian.org/debian/pool/main/o/openssh/openssh_7.4p1-10+deb9u1.dsc
cd openssh-7.4p1
dpkg-buildpackage -us -uc

这将安装一些必要的构建依赖项(您可以稍后卸载),从 Debian 9 下载软件包的源代码,然后构建它。它将在父目录中生成许多包,然后您可以安装它们:

sudo dpkg -i ../openssh-client_7.4p1-10+deb9u1_*.deb

有了这个解决方案,您就可以跟踪Debian 9 中软件包的任何更新,并在本地重建软件包。

答案2

您无法升级包的部分内容(在本例中为单个文件)。您需要升级整个 openssh-client 软件包,并且(目前)Debian 向后移植中不存在该软件包的新版本,因此您需要寻找第三方来承担所有风险。

答案3

要使用比包管理器提供的版本更新的开源工具版本,请从上游源下载源代码(在本例中,openssh.com),以及任何所需的库(例如,自由SSL)并在您自己的系统上编译它。

相关内容