在运行ssh -V时打印错误的版本号

时间:2014-05-22 07:10:44

标签: ssh openssl openssh qnx

我正在升级openssl& openssh平台的QNX个版本,从openssl 1.0.0e1.0.1g& openssh-5.6p1openssh-6.6p1
所以使用我的linux机器我正在交叉编译以生成QNX的二进制文件 完成下面提到的所有步骤后,当我运行./ssh -V时,我得到了这个输出

OpenSSH_6.6p1, OpenSSL 0.9.8g 19 Oct 2007

但我使用openssl 1.0.1g生成ssh个二进制文件。 任何人都可以告诉我从哪里得到错误的版本?

步骤:
 已下载openssl-1.0.1g.tar.gz& openssh-6.6p1.tar.gz然后untar。  2. cd openssl-1.0.1g&运行此config命令

CC=qcc CXX=qcc AR=nto${I_CPU}-ar LD=qcc RANLIB=nto${I_CPU}-ranlib CFLAGS+="-Vgcc_nto${I_CPU} -fPIC -DPIC" LDFLAGS+="-Vgcc_nto${I_CPU} -shared" ./Configure QNX6-i386 -shared --prefix=/home/vamsi/build_ppc --openssldir=/home/vamsi/build_ppc/openssl_dir
  1. 干净利落
  2. 制作
  3. 安装
  4. cd openssh-6.6p1&运行此config命令

    CC = qcc CFLAGS =“ - Vgcc_nto $ {I_CPUX} -L / home / vamsi / build_ppc / lib”AR = nto $ {I_CPUX} -ar LD = qcc LDFLAGS =“ - Vgcc_nto $ {I_CPUX} -L / home / vamsi / build_ppc / lib“CXX = qcc CPPFLAGS + =” - DMISSING_HOWMANY -DMISSING_NFDBITS -DMISSING_NFDMASK“./ configure --disable-lastlog --host = ppcbe --with-ssl-dir = / home / vamsi / build_ppc / openssl_dir --prefix = / home / vamsi / build_ppc --disable-etc-default-login

  5. make clean

  6. 使
  7. 完成这些步骤后,我将生成的ssh二进制文件复制到目标计算机并尝试运行./ssh -V

    当我将openssl Binary复制到目标QNX机器并尝试执行此命令时

    ./openssl
    

    提供此错误

    ./openssl[1]: syntax error: '(' unexpected
    

    注意:我没有在目标计算机上安装ssh,但我只想要新版本ssh二进制文件,因此我正在运行./ssh -V而不是ssh -V

    我能够使用此ssh(生成的二进制文件)成功连接到任何地址。 在制作这个Binary时我得到了这个警告

    skipping incompatible /home/vamsi/build_ppc/lib/libcrypto.a when searching for -lcrypto
    

    这个警告是否与我面临的问题有关?

    我尝试使用openssl版本1.0.0l,但ssh -v的输出仍显示为

    OpenSSH_6.6p1,OpenSSL 0.9.8g 2007年10月19日

1 个答案:

答案 0 :(得分:0)

  

在这些步骤之后,我将生成的ssh二进制文件复制到目标中   机器并尝试运行./ssh -V

     

此外,当我将openssl Binary复制到目标QNX机器

这个和comments you've posted on your other question关于ldd的输出:" 在创建二进制文件时,它会使用以前的库而不是新生成的库。&# 34;似乎建议你只复制这两个可执行文件,而不是你编译过的库。

您不需要openssl命令来使用ssh,但您需要OpenSSL库(libssl.something.so)。

如果你想在本地目录中进行测试,而不是覆盖系统的库(我建议你这样做,因为你似乎并不确定这一切是如何工作的),考虑使用LD_LIBRARY_PATH指向您安装这些库的路径。

一般来说,阅读LD_LIBRARY_PATH是个好主意。在Linux上,我还考虑使用ldconfig,但I'm not sure if there's an equivalent on QNX