openssl
$ wget -c https://www.openssl.org/source/openssl-3.0.2.tar.gz --no-check-certificate
$ mv /usr/bin/openssl /usr/bin/openssl.old
$ mv /usr/include/openssl /usr/include/openssl.old
$ tar xf openssl-3.0.2.tar.gz
$ cd openssl-3.0.2/
$ yum install -y perl-CPAN zlib-devel pam-devel
$ perl -MCPAN -e shell
cpan[1]> install IPC/Cmd.pm
$ ./config --prefix=/usr/local/openssl
$ make && make install
$ ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
$ ln -s /usr/local/openssl/include/openssl /usr/include/openssl
$ echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
$ ldconfig
$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
openssh
$ curl -O https://mirrors.aliyun.com/openssh/portable/openssh-8.9p1.tar.gz
$ ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib
$ make && make install
$ vim /usr/local/openssh/etc/sshd_config
PermitRootLogin yes
UseDNS no
$ cp /usr/local/src/openssh-8.9p1/contrib/redhat/sshd.init /etc/init.d/sshd
$ cp /usr/local/src/openssh-8.9p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
$ mv /usr/lib/systemd/system/sshd.service /tmp
$ systemctl daemon-reload
$ chkconfig --add sshd
$ ssh -V
OpenSSH_8.9p1, OpenSSL 3.0.2 15 Mar 2022