直接升級openssh會由于OpenSSL 版本太低而報錯 configure: error: OpenSSL >= 1.1.1 required,因此升級openssh前需要先升級OpenSSL
一、備份現(xiàn)有配置(備用,如果升級正常的話用不到)
cp -rf /etc/ssh /etc/ssh.bak
cp -rf /usr/bin/openssl /usr/bin/openssl.bak
cp -rf /etc/pam.d /etc/pam.d.bak
cp -rf /usr/lib/systemd/system /usr/lib/systemd/system.bak
二、安裝telnet(如果遠(yuǎn)程連接的服務(wù)器,必須先安裝好備份連接telnet)
1.安裝telnet作為備份連接用
# yum install telnet-server telnet xinetd
2.啟動telnet服務(wù)
# systemctl start telnet.socket
# systemctl start xinetd
# systemctl status telnet.socket
# systemctl status xinetd
3.修改配置
# vim /etc/pam.d/remote
注釋掉這行
# auth required pam_securetty.so
4.重啟telnet服務(wù)
# systemctl restart xinetd
# systemctl restart telnet.socket
5.客戶端遠(yuǎn)程telnet連接測試,這一步必須測試成功了再進行下面的操作。
三、安裝依賴和下載安裝包
1 依賴及編譯環(huán)境安裝,安裝相關(guān)的依賴項,如有遺漏再次安裝
yum install -y vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers libedit-devel perl-IPC-Cmd wget tar lrzsz nano
或者,安裝相關(guān)的依賴項,如有遺漏再次安裝
yum -y install gcc pam-devel zlib-devel openssl-devel net-tools
2 下載源碼包
cd /home/file
wget https://www.zlib.net/zlib-1.3.1.tar.gz
wget https://www.openssl.org/source/openssl-3.3.1.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p2.tar.gz
3 解壓源碼包
cd /usr/local/src/
tar -zxvf zlib-1.3.1.tar.gz
tar -zxvf openssl-3.3.1.tar.gz
tar -zxvf openssh-9.8p1.tar.gz
四、安裝Zlib
1.進入zlib-1.3.1目錄
cd /usr/local/src/zlib-1.3.1
2.配置
./configure --prefix=/usr/local/src/zlib
3.編譯及安裝
make -j 4 && make test && make install
五、安裝OpenSSL
1.進入openssl-3.3.1目錄
cd /home/file/openssl-3.3.1
2.配置
./config --prefix=/usr #安裝到/usr的話不用再配置環(huán)境變量,做軟連接什么的了,如果安裝其他路徑的話還需要做第4步
3.編譯及安裝
make -j 4 && make install
4.配置(第3步如果安裝的路徑是/usr,則無需配置)
mv /usr/bin/openssl /usr/bin/oldopenssl
ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
更新動態(tài)庫
echo "/usr/local/src/openssl/lib64" >> /etc/ld.so.conf
ldconfig
5.查看更新后的版本
openssl version -v
六、安裝OpenSSH
1 卸載舊版本OpenSSH服務(wù)
yum remove -y openssh
2.清理殘余文件
rm -rf /etc/ssh/*
- 安裝最新版Openssh服務(wù),進入openssh-9.9p2目錄
#cd /home/file/openssh-9.9p2
4.配置
./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/src/zlib
(如果openssl安裝的是其他路徑,還需要加上--with-ssl-dir=/usr/local/src/openssl)
5.編譯及安裝
make -j 4 && make install
6.查看目錄版本
/usr/local/src/ssh/bin/ssh -V
7.復(fù)制新ssh文件
cp -rf /home/file/openssh-9.9p2/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /home/file/openssh-9.9p2/contrib/redhat/sshd.pam /etc/pam.d/sshd
cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen
8.允許root登錄
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
重啟sshd服務(wù)
/etc/init.d/sshd restart 或則systemctl restart sshd
查看服務(wù)運行狀態(tài)
/etc/init.d/sshd status 或則systemctl status sshd
添加開機啟動
chkconfig --add sshd
查看升級后ssh版本
ssh -V
參考:https://blog.csdn.net/Jerry_zhy/article/details/141217681