Ssh OpenSSL版本不匹配。根据1000105f构建,您有10001080

Ssh OpenSSL版本不匹配。根据1000105f构建,您有10001080,ssh,openssl,debian,Ssh,Openssl,Debian,我刚刚运行了apt get upgrade,根据/var/log/apt/history.log,openssl已更新为1.0.1e-2+rvt+deb7u7版本。现在我有一个SSH会话仍然打开,但我无法打开另一个。我重新启动了SSH,它返回了OpenSSL版本不匹配。根据1000105f构建,您拥有10001080。 我尝试了apt-get-remove-openssl&&apt-get-install-openssl,但没有成功。我在用覆盆子圆周率测试debian 更新:移动到尝试安装ope

我刚刚运行了
apt get upgrade
,根据/var/log/apt/history.log,openssl已更新为1.0.1e-2+rvt+deb7u7版本。现在我有一个SSH会话仍然打开,但我无法打开另一个。我重新启动了SSH,它返回了
OpenSSL版本不匹配。根据1000105f构建,您拥有10001080
。 我尝试了
apt-get-remove-openssl&&apt-get-install-openssl
,但没有成功。我在用覆盆子圆周率测试debian


更新:移动到

尝试
安装openssh服务器openssh客户端


当我将我的系统更新为Debian测试时,我也遇到了同样的问题。尽管已经安装了SSH,但在我的例子中,当我运行
apt get update&&apt get upgrade
时,它并没有被拉进来进行更新,因此系统仍然有相同的SSH二进制文件,与现在过时的库相链接,因此,版本不匹配。

请确保您的其他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

我不赞成下面的答案,因为我刚刚通过
发现我使用的是我自己编译的OpenSSH版本

# which ssh
/usr/local/bin/ssh
删除本地ssh后,
openssh服务器
openssh客户端
成功安装


我遇到了这个问题,并使用了我用来修复的类似技术

我遇到了以下错误

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

我在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
    

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

    我刚刚发现的一个罪魁祸首就是Microsemi的“Max View存储管理器”。(是的,我提到这个名字是为了让开发者感到羞耻。)它增加了自己:

    • 图书馆路径
    • PWD
    • OPENSSL_主页
    • OPENSSL_-BIN
    • 路径

    ssh作为root用户运行良好(没有添加这些附加条目),但作为我的普通用户失败。

    由于OpenSSL承诺在主要版本(1.x…)上兼容ABI,如果库的版本增加,应用程序不应抱怨。在OP中,构建版本似乎比库版本少,应该没有问题

    这似乎是OpenSSH中的一个bug。
    不幸的是,解决方案是确保在同一时间更新包,这可能并不总是可能的。

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

    然后从他们的repo手动安装openssh


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

    您正在运行什么Linux发行版?请编辑问题的所有细节。如果您针对一个版本的OpenSSL(比如1.0.2o)构建SSH,然后更新到GitHub稳定版1.0.2(OpenSSL_1_0_2-stable),则可能会发生这种情况。SSH将检测修补程序编号不匹配,并且不会运行。我相信您还需要使用
    -Wl,-R、
    和/或
    -Wl、-启用新的dtags