Openssh 8.4p1及Openssl 1.1.1h升級
Openssh 8.4p1及Openssl 1.1.1h升級
檢視當前Openssh/Openssl版本
ssh -V
配置yum源
vi /etc/yum.conf
[centosdvd]
name=centosdvd
baseurl=file:///mnt
enabled=1
gpgcheck=0
掛接系統映象
mount -o loop /soft/rhel-server-7.7-x86_64-dvd.iso /mnt/
安裝telnet服務並啟用
因升級OpenSSH過程中需要解除安裝現有OpenSSH, 因此為了保持伺服器的遠端連線可用,需
要啟用telnet服務作為替代,如升級出現問題,也可透過telnet登入伺服器進行回退。
同時安裝telnet守護程式:xinetd
安裝配置telnet服務
yum install -y telnet-*
yum install -y xinetd
systemctl enable xinetd.service
systemctl enable telnet.socket
systemctl restart telnet.socket
systemctl restart xinetd
配置telnet root使用者訪問
方法一:
linux預設情況下root使用者使用telnet是登入不了的,需要修改/etc/secrueety檔案末尾加入pts/1、pts/2、pts/3或者可以把secrueety檔案重新命名均可;
echo ‘pts/0’ >> /etc/securetty
echo ‘pts/1’ >> /etc/securetty
echo ‘pts/2’ >> /etc/securetty
echo ‘pts/3’ >> /etc/securetty
cat /etc/securetty
方法二:
mv /etc/securetty /etc/securetty.bak 這樣ROOT就可以用ROOT登陸了
驗證telnet
telnet 192.168.174.141 或 telnet 192.168.174.141 23
連線不上則reboot系統
禁用Selinux
sed -e ‘s/^SELINUX=enforcing$/SELINUX=disabled/’ -i /etc/selinux/config
cat /etc/selinux/config
安裝Openssh/Openssl安裝編譯所需元件工具包
mount -o loop /soft/rhel-server-7.7-x86_64-dvd.iso /mnt/
yum -y install gcc pamdevel zlibdevel unzip perl
yum -y install perl-Module-Load-Conditional perl-core perl-CPAN perl-devel
安裝zlib
解壓zlib_1.2.11原始碼-配置檢查zlib-編譯zlib庫-安裝zlib庫
cd /soft
tar -xvzf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr
make&&make install
解除安裝當前zlib
注意:此步驟必須在步驟A執行完畢後再執行,否則先解除安裝zlib後,/lib64/目錄下的zlib相
關庫檔案會被刪除,步驟A編譯zlib會失敗。(補救措施:從其他相同系統的伺服器上覆
制/lib64、/usr/lib和/usr/lib64目錄下的libcrypto.so.10、libssl.so.10、libz.so.1、libz.so.1.2.3
四個檔案到相應目錄即可。可透過whereis、locate或find命令找到這些檔案的位置)
rpm -qa|grep zlib
rpm -e --nodeps zlib
rpm -qa|grep zlib
共享庫註冊
zlib安裝完成後,會在/usr/lib目錄中生產zlib相關庫檔案,需要將這些共享庫檔案註冊到系統
echo ‘/usr/lib’ >> /etc/ld.so.conf
cat /etc/ld.so.conf
ll /usr/lib/libz.so.1
ll /usr/lib/libz.so
ll /usr/lib/libz.so.1
ldconfig
升級OpenSSL
官方升級文件
Openssl下載地址:
Openssl官網:
備份當前openssl-解除安裝當前openssl
mv /usr/lib64/openssl /usr/lib64/openssl.old
mv /usr/bin/openssl /usr/bin/openssl.old
mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old
cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old
cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old
rpm -qa|grep openssl |xargs
rpm -qa|grep openssl|xargs -i rpm -e --nodeps {}
rpm -qa|grep openssl |xargs
Openssl升級
解壓openssl原始碼-編譯Openssl-測試Openssl-安裝Openssl-驗證Openssl升級是否成功
cd /soft/
tar -xvzf openssl-1.1.1h.tar.gz
cd openssl-1.1.1h
./config --prefix=/usr --openssldir=/etc/ssl --shared zlib #必須加上shared,否則編譯時會找不到新安裝的openssl的庫而報錯
make&&make test #為了確保升級安全,test必須是:PASS透過才OK
make install
openssl version
恢復共享庫
由於OpenSSL不提供libcrypto.so.10和libssl.so.10這兩個庫,而yum、wget等工具又依賴此庫,因此需要將先前備份的這兩個庫進行恢復,其他的可視情況考慮是否恢復。
mv /usr/lib64/libcrypto.so.10.old /usr/lib64/libcrypto.so.10
y
mv /usr/lib64/libssl.so.10.old /usr/lib64/libssl.so.10
y
升級OpenSSH
10.1官方升級文件
Openssh官方地址:
Openssh軟體地址:
備份當前openssh-解除安裝當前openssh
mv /etc/ssh /etc/ssh.old
rpm -qa|grep openssh
rpm -qa |grep openssh|xargs -i rpm -e --nodeps {}
rpm -qa |grep openssh|xargs -i rpm -e --nodeps {}
Openssh升級前環境配置
install -v -m700 -d /var/lib/sshd
chown -v root:sys /var/lib/sshd
groupadd -g 50 sshd
useradd -c ‘sshd PrivSep’ -d /var/lib/sshd -g sshd -s /bin/false -u 50 sshd
Openssh升級
解壓openssh8.4p1.tar.gz原始碼-配置Openssh-編譯Openssh-安裝Openssh
cd /soft
tar -xvzf openssh-8.4p1.tar.gz
cd openssh-8.4p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam–with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd
make&&make install
Openssh安裝後環境配置-驗證Openssh
在openssh編譯目錄執行如下命令
install -v -m755 contrib/ssh-copy-id /usr/bin
install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
install -v -m755 -d /usr/share/doc/openssh-8.4p1
install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-8.4p1
ssh -V
低加密演算法配置
注:Openssh8.2—8.4版本由於加密安全演算法升級,因此需要續用以前的加密演算法工具則需要sshd配置在etc/ssh/sshd_conf末尾加入加密演算法欄位;
否則低演算法遠端工具登入時報錯,如下:
Key exchange failed.
No compatible key exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256
vi /etc/ssh/sshd_config
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
設定root使用者可登入
echo ‘X11Forwarding yes’ >> /etc/ssh/sshd_config
echo “PermitRootLogin yes” >> /etc/ssh/sshd_config
cat /etc/ssh/sshd_config
啟用OpenSSH服務
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list sshd
Linux7版本以下檢視ssh狀態-重啟-啟用
systemctl status sshd
systemctl restart sshd
systemctl enable sshd
systemctl status sshd
reboot
檢視Openssh、Openssl升級情況
ssh -V
OpenSSH_8.4p1, OpenSSL 1.1.1g 21 Apr 2020
解除安裝telnet
–根據自己需求選擇是否解除安裝;
mount -o loop /soft/rhel-server-7.7-x86_64-dvd.iso /mnt/
yum remove telnet* -y
reboot
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31520497/viewspace-2728969/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- openssh升級7.4p1至8.4p1、openssl升級至openssl-1.1.1h
- Centos 7.4系統升級OpenSSH 8.4p1服務CentOS
- openssh 漏洞修復 openssl升級 OpenSSH_9.8p1麒麟系統
- centos升級openssl方法及步驟CentOS
- aix升級opensshAI
- Ubuntu升級opensshUbuntu
- 升級openssh7.9
- Linux openssh升級8.0Linux
- OpenSSH升級(從OpenSSH_7.4p1升級到OpenSSH_8.4p1) [操作指令碼]指令碼
- 適用於openEuler系統升級openssh9.8p1和openssl3.3.1
- nginx之升級openssl及自定義nginx版本Nginx
- 原始碼升級SUSE openssh原始碼
- Nginx如何升級OpensslNginx
- Centos升級到openssh9.7CentOS
- ubuntu-22.04.4編譯升級安裝 OpenSSH_9.8p1+OpenSSL 3.3.2+zlib1.3.1Ubuntu編譯
- 伺服器 升級OpenSSL伺服器
- linux openssl升級-從OpenSSL1.0.2K-1.1.1iLinux
- Centos6.5 離線 Openssh 升級CentOS
- suse11 openssh 升級到8.0
- redhat系統升級openssh到7.5Redhat
- CentOS6.9下升級預設的OpenSSH操作記錄(升級到OpenSSH_7.6p1)CentOS
- centos7 openssl升級版本到OpenSSL 1.1.1nCentOS
- Centos7 升級openssh到最高版本CentOS
- Linux環境下如何升級openssl?Linux
- CentOS7升級openssl1.1.1CentOS
- 升級openssl - OpenSSL 拒絕服務漏洞 (CVE-2020-1971)
- Ubuntu16.04升級openssh-9.8p1Ubuntu
- Ctyun系統升級OpenSSH 9.3詳細教程
- RockyLinux8伺服器升級openssh9.9Linux伺服器
- Centos7 升級至openssh-9.8p1CentOS
- Openssh-7.9p1升級+系統調優
- RHEL6_CentOS6_Openssh8.0p1升級CentOS
- Centos7 openssh升級到7.9p1CentOS
- centos6.5中openssh從5.3升級到7.3CentOS
- redhat 7.4從openssh7.6離線升級openssh8.4p1解決方法Redhat
- oraclelinux9.2內網升級OpenSSH9.8p1OracleLinux內網
- openSSH升級公鑰失效Permission denied (publickey)解決方案
- 升級openssh前安裝zlib報異常configure aborting