Ubuntu20.04でOpenSSL・OpenSSHをアップデートしたい
解決したいこと
Ubuntu20.04.3 で OpenSSL と OpenSSH をそれぞれ下記のバージョンにアップデートしたいです。
OpenSSL 1.1.1f → 3.0.9
OpenSSH 8.2p1 → 9.3p1
発生している問題・エラー
OpenSSHのアップデート→OpenSSLのアップデートの順で行い
「ssh -V」でバージョンを確認すると、OpenSSLがアプデ前の「1.1.1f」となってしまいます。
「3.0.9」と認識されるようにしたいです。
$ ssh -V
OpenSSH_9.3p1, OpenSSL 1.1.1f 31 Mar 2020
「openssl version」だと3.0.9と表示されます。
$ openssl version
OpenSSL 3.0.9 30 May 2023 (Library: OpenSSL 3.0.9 30 May 2023)
OpenSSHのアップデート方法
OpenSSHは下記のコマンドでアップデートしました。
$ cd /usr/local/src/
$ sudo wget http://mirror.exonetric.net/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
$ sudo tar -zxvf openssh-9.3p1.tar.gz
$ cd openssh-9.3p1
$ sudo ./configure
$ sudo make
$ sudo make install
$ cd /usr/bin/
$ sudo mv ssh ssh_old
$ sudo ln -s /usr/local/bin/ssh ssh
$ ssh -V
OpenSSH_9.3p1, OpenSSL 1.1.1f 31 Mar 2020
OpenSSLのアップデート方法
OpenSSLは下記のコマンドでアップデートしました。
cd /usr/local/src/
sudo wget https://www.openssl.org/source/openssl-3.0.9.tar.gz
sudo tar xvf openssl-3.0.9.tar.gz
cd openssl-3.0.9/
sudo ./config
sudo make
sudo make install
sudo ldconfig
「openssl version」を実行したら、下記のエラーになりました。
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
「libssl.so.3」へのパスを通し、上記エラーは解消しました。
$ sudo find /usr -name "libssl.so.3"
/usr/local/lib64/libssl.so.3
/usr/local/src/openssl-3.0.9/libssl.so.3
# echo "/usr/local/lib64" > /etc/ld.so.conf.d/lib64.conf
試したこと
アップデート順を変えて、OpenSSLのアップデート→OpenSSHのアップデートを試しましたが
OpenSSHの「./configure」コマンドを実行したときに、下記のメッセージが表示されエラーとなりました。
configure: error: Your OpenSSL headers do not match your
library. Check config.log for details.
If you are sure your installation is consistent, you can disable the check
by running "./configure --without-openssl-header-check".
Also see contrib/findssl.sh for help identifying header/library mismatches.
contrib/findssl.shスクリプトを実行したところ、下記のように表示されました。
Searching for OpenSSL header files.
OPENSSL_VERSION_NUMBEROPENSSL_VERSION_NUMBER /usr/local/src/openssl-3.0.9/include/openssl/opensslv.h
OPENSSL_VERSION_NUMBEROPENSSL_VERSION_NUMBER /usr/local/include/openssl/opensslv.h
OPENSSL_VERSION_NUMBER /usr/include/openssl/opensslv.h
Searching for OpenSSL shared library files.
0x100020efL /snap/core18/2751/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
0x100020efL /snap/core18/2785/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
Searching for OpenSSL static library files.
OpenSSL shared library fileが1.0.0のままでした。