scp因“FIPS_mode_set:指纹不匹配”错误而失败

时间:2013-04-16 08:49:10

标签: linux ssh openssl scp fips

我有以下机器:

Linux ssim-21416 2.6.18-348.3.1.el5 #1 SMP Mon Mar 11 19:39:25 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux

CentOS release 5.9 (Final)

现在,当我尝试执行scp或ssh时,它失败并出现以下错误:

7477:error:2D06C06E:FIPS routines:FIPS_mode_set:fingerprint does not match:fips.c:493:
lost connection

在我的机器上安装了openssl rpm:

openssl-0.9.8e-26.el5_9.1

安装了fps rpms后

fipscheck-lib-1.2.0-1.el5
fipscheck-1.2.0-1.el5

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

  

当我尝试执行scp或ssh时失败并出现以下错误...

这对我来说很难帮助,因为我不知道Red Hat或CentOS。但我确实理解OpenSSL及其FIPS流程,所以我给你一个应该有效的建议。但是你需要做更多的工作。

自己下载并构建scpssh。但是,执行此操作时,请执行以下操作:

$ export CC=`find /usr/local -name fipsld`
$ echo $CC 
$ /usr/local/ssl/fips-2.0/bin/fipsld
$ export FIPSLD_CC=`find /usr/bin -name gcc`
$ echo $FIPSLD_CC 
/usr/bin/gcc

现在,执行标准configmake。有时你必须config,然后调整CCFIPSLD_CC,然后运行make。

安装它们是/usr/local/bin并从那里使用它们。


如果您需要从源代码构建OpenSSL FIPS对象模块和FIPS Capable Library,那么:

# Build the FIPS Object Module
$ tar xzf openssl-fips-2.0.5.tar.gz
$ cd openssl-fips-2.0.5
$ ./config
$ make
$ sudo make install

# Build the FIPS Capable Library
$ tar xzf openssl-1.0.1f.tar.gz
$ cd openssl-1.0.1f
$ ./config fips <other options you like>
$ make all
$ sudo make install

请务必使用以FIPS模式运行的工具来验证下载中的签名。如果您没有这样的工具,则必须从OpenSSL Foundation订购CD。