我刚刚运行apt-get upgrade
,根据/var/log/apt/history.log,openssl已更新为版本1.0.1e-2 + rvt + deb7u7。现在我有一个SSH会话仍然打开,但我无法打开另一个。我重新启动了SSH,返回OpenSSL version mismatch. Built against 1000105f, you have 10001080
。
我试了apt-get remove openssl && apt-get install openssl
没有运气。我在覆盆子pi上运行debian。
更新:已移至Superuser
答案 0 :(得分:9)
尝试apt-get install openssh-server openssh-client
。
当我将系统更新到Debian Testing时,我遇到了同样的问题。虽然已经安装了SSH,但在我的情况下,当我运行apt-get update && apt-get upgrade
时它没有被更新用于更新,因此系统仍然具有相同的SSH二进制文件,现在已经过时的库与它相关联,因此版本不匹配。
答案 1 :(得分:1)
确保您的其他 SSL软件包具有与openssl软件包相同的版本号。如果你使用像debian测试这样的非标准存储库,libssl1.0.0和libssl-dev之类的东西可能会有更高或更低的版本。
因此,如果你的openssl版本是1.0.1e-2 + deb7u11,修复它就像
一样简单apt-get install libssl1.0.0=1.0.1e-2+deb7u11
答案 2 :(得分:0)
我将弃用以下答案,因为我刚发现which ssh
我使用的是我自己编译的OpenSSH版本。
# which ssh
/usr/local/bin/ssh
删除我的本地ssh后,openssh-server
和openssh-client
已成功安装。
我遇到了这个并使用了我用来修复https://askubuntu.com/a/854145/348754的类似技术。
我遇到了以下错误。
Creating SSH2 ECDSA key; this may take some time ...OpenSSL version mismatch. Built against 1000106f, you have 1000207f
dpkg: error processing package openssh-server (--configure):
subprocess installed post-installation script returned error exit status 255
我必须编辑/var/lib/dpkg/info/openssh-server.postinst并评论以下几行。
#create_key "Creating SSH2 ECDSA key; this may take some time ..." \
# "$hostkeys" /etc/ssh/ssh_host_ecdsa_key -t ecdsa
#create_key "Creating SSH2 ED25519 key; this may take some time ..." \
# "$hostkeys" /etc/ssh/ssh_host_ed25519_key -t ed25519
答案 3 :(得分:0)
我在Ubuntu中遇到以下错误。
OpenSSL version mismatch. Built against 100020bf, you have 1000106f
这是我要解决的问题。
检查ssh在哪里
\#which ssh
/usr/local/bin/ssh
删除当前的ssh软件包。
sudo apt-get remove openssh-server openssh-client
删除/ usr / local / bin / ssh下的ssh文件
按如下所示重新安装ssh软件包。
sudo apt-get install openssh-server openssh-client
注销当前会话,然后再次重新登录。 SSH命令恢复工作,位于/ usr / bin / ssh下。
\#which ssh
/usr/bin/ssh
答案 4 :(得分:0)
还要确保任何其他已安装的软件包都没有带来自己的openssl库并将其添加到您的环境中。
我刚刚发现的一个罪魁祸首是Microsemi的“ Max View Storage Manager”。 (是的,我提到这个名称是为了让开发人员感到羞耻。)它添加到:
ssh作为root可以正常工作(未添加这些附加条目),但作为我的普通用户却失败了。
答案 5 :(得分:0)
由于OpenSSL承诺在主要版本(1.x ..)上具有ABI兼容性,因此如果库的版本增加,则任何应用程序都不应抱怨。在OP中,内置版本似乎少于库版本,并且应该没有问题。
这似乎是OpenSSH中的错误。 不幸的是,解决方案是确保同时更新软件包,但这并非总是可能的。
答案 6 :(得分:0)
这里的所有答案都不适用于我。您可以按照以下步骤手动安装最新版本的 openssl
然后从他们的仓库手动安装 openssh。
当我尝试将 vagrant ssh 运行到我的 ssh 客户端没有针对它编译正确的 openssl 版本的盒子中时,我遇到了这个问题。