我正在尝试在没有OpenSSL的情况下构建OpenSSH 7.3。
我跑了$ ./configure --without-openssl
。
然后运行$ make OPENSSL=no
或$ make
会出现以下错误:
In file included from ../entropy.h:30:0,
from ../includes.h:174,
from arc4random.c:27:
../buffer.h:50:29: fatal error: openssl/objects.h: No such file or directory
compilation terminated.
make[1]: *** [arc4random.o] Error 1
make[1]: Leaving directory /local/store/openssh/openssh-7.3p1/openbsd-compat'
make: *** [openbsd-compat/libopenbsd-compat.a] Error 2
这些包含未正确包裹#ifdef WITH_OPENSSL
,因此仍然可以访问。我做错了什么?
如何在没有OpenSSL依赖项的情况下配置和构建OpenSSH 7.3?
从版本6.8开始,OpenSSH似乎可以在没有OpenSSL的情况下构建。从6.8发行说明:
在配置时支持--without-openssl
禁用并删除对OpenSSL的依赖。很多功能, 包括SSH协议1不支持和加密的设置 选项受到很大限制。这只适用于系统 使用native arc4random或/ dev / urandom。
我也在OpenBSD CVS上发现了这条消息:
CVSROOT:/ cvs
模块名称:src
变更:markus@cvs.openbsd.org 2014/04/29 12:01:49
修改过的文件:
usr.bin / ssh:Makefile.inc auth.c authfd.c authfile.c bufaux.c cipher.c cipher.h hostfile.c kex.c key.c mac.c monitor.c monitor_wrap.c myproposal.h packet.c roaming_client.c ssh-agent.c ssh-keygen.c ssh-keyscan.c ssh-keysign.c ssh-pkcs11.h ssh.c sshconnect.c sshconnect2.c sshd.c usr.bin / ssh / lib:Makefile usr.bin / ssh / ssh:Makefile usr.bin / ssh / sshd:Makefile
日志消息: 对OpenSSL进行编译可选(make OPENSSL = no); 将算法减少到curve25519,aes-ctr,chacha,ed25519; 让我们探索更多选择;和,好的djm
答案 0 :(得分:1)
我在没有7.7p1
的情况下使用以下方法构建了 OpenSSH openssl
:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-privsep-path=/var/empty --libexecdir=/usr/lib/openssh --without-openssl
我还使用了Linux From Scratch中的patch
。