web-dev-qa-db-ja.com

OpenSSHの構築時にOpenSSLヘッダーが欠落している

ソースから特定のOpenSSLバージョンを使用して特定のOpenSSHバージョンをビルドしたいのですが、次のエラーが発生します。

mkdir /tmp/ssh
cp openssh-6.7p1.tar.gz /tmp/ssh
cp openssl-1.0.1l.tar.gz /tmp/ssh
cd /tmp/ssh
tar zxvf openssl-1.0.1l.tar.gz
cd openssl-1.0.1l
./config --prefix=/tmp/ssh
make
make install
cd ..
tar zxvf openssh-6.7p1.tar.gz
cd openssh-6.7p1
./configure --with-ssl-dir=/tmp/ssh --prefix=/tmp/ssh

...
checking openssl/opensslv.h usability... no
checking openssl/opensslv.h presence... no
checking for openssl/opensslv.h... no
configure: error: *** OpenSSL headers missing - please install first or check config.log ***

OpenSSHのconfigureスクリプトにバグがありますか、それともコマンドを変更する必要がありますか?

6
name

./configureにフラグを送信しない方法は次のとおりです。最初にOpenSSLをインストールする必要があります。最新のtarballを入手する ここ

./config
make
make test
make install

次に libssl-devをインストール

apt-get install libssl-dev

その後、再試行できます OpenSSHのインストール:

cd openssh-[version]
./configure
make
make install
5
Ann Kilzer

ftp://ftp.ca.openbsd.org/pub/OpenBSD/OpenSSH/portable/INSTALL 言います:

LibreSSL/OpenSSLは、位置に依存しないライブラリとして(つまり、-fPICを使用して)コンパイルする必要があります。そうしないと、OpenSSHはそれにリンクできません。位置に依存しないlibcryptoを使用する必要がある場合は、OpenSSH--without-pieを構成する必要があります。

次のコマンドでは、「OpenSSLヘッダーがありません」というエラーは発生しなくなりました。

tar zxvf openssl-1.0.1l.tar.gz
cd openssl-1.0.1l
./config --prefix=/tmp/ssh
make
make install
cd ..
tar zxvf openssh-6.7p1.tar.gz
cd openssh-6.7p1
./configure --with-ssl-dir=/tmp/ssh --prefix=/tmp/ssh --without-pie
1
name

OpenSSHのconfigureスクリプトにバグがありますか、それともコマンドを変更する必要がありますか?

OpenSSLとOpenSSHのインストール によると:

'configure'がsslを見つけられない場合は、configureコマンドを次のように変更します。

./configure --prefix=/usr --with-ssl-dir=/usr/local/ssl --with-tcp-wrappers

上記は、OpenSSLヘッダーが/usr/local/ssl/includeにあり、ライブラリが/usr/local/ssl/libにあることを意味します。パスを/tmp/sshに変更する必要があると思います。


から:

cd openssl-1.0.1l
./config --prefix=/tmp/ssh
...

私はあなたが使うべきだと思います:

cd openssl-1.0.1l
./config --openssldir=/tmp/ssh/openssl
...

OpenSSL wikiの コンパイルとインストール も参照してください。 enable-ec_nistp_64_gcc_128などの他のオプションを使用することもできます。


/tmp/ssh/opensslにOpenSSLを使用すると、次のようになります。

cd openssh-6.7p1
./configure --with-ssl-dir=/tmp/ssh/openssl --prefix=/tmp/ssh
...

システムが提供していないOpenSSLを使用すると、問題が発生する可能性があります。したがって、チェックアウトすることもできます RPATHを使用してOpenSSLを構築しますか? 。 RPATHを使用してOpenSSHを構築することもできます。

0
jww