OpenSSL版本不匹配。根据1000105f建立,你有10001080

时间:2014-06-07 10:06:54

标签: ssh openssl debian

我刚刚运行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

7 个答案:

答案 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-serveropenssh-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

这是我要解决的问题。

  1. 检查ssh在哪里

    \#which ssh
    
    /usr/local/bin/ssh
    
  2. 删除当前的ssh软件包。

    sudo apt-get remove openssh-server openssh-client
    
  3. 删除/ usr / local / bin / ssh下的ssh文件

  4. 按如下所示重新安装ssh软件包。

    sudo apt-get install openssh-server openssh-client
    
  5. 注销当前会话,然后再次重新登录。 SSH命令恢复工作,位于/ usr / bin / ssh下。

    \#which ssh
    
    /usr/bin/ssh
    

答案 4 :(得分:0)

还要确保任何其他已安装的软件包都没有带来自己的openssl库并将其添加到您的环境中。

我刚刚发现的一个罪魁祸首是Microsemi的“ Max View Storage Manager”。 (是的,我提到这个名称是为了让开发人员感到羞耻。)它添加到:

  • LD_LIBRARY_PATH
  • PWD
  • OPENSSL_HOME
  • OPENSSL_BIN
  • 路径

ssh作为root可以正常工作(未添加这些附加条目),但作为我的普通用户却失败了。

答案 5 :(得分:0)

由于OpenSSL承诺在主要版本(1.x ..)上具有ABI兼容性,因此如果库的版本增加,则任何应用程序都不应抱怨。在OP中,内置版本似乎少于库版本,并且应该没有问题。

这似乎是OpenSSH中的错误。 不幸的是,解决方案是确保同时更新软件包,但这并非总是可能的。

答案 6 :(得分:0)

这里的所有答案都不适用于我。您可以按照以下步骤手动安装最新版本的 openssl

然后从他们的仓库手动安装 openssh。

当我尝试将 vagrant ssh 运行到我的 ssh 客户端没有针对它编译正确的 openssl 版本的盒子中时,我遇到了这个问题。