目錄
引言
當(dāng)前操作系統(tǒng)情況
第一步:下載SSH和SSL安裝包
第二步:安裝配置Telnet(防止ssh安裝失敗無(wú)法連接)
1、安裝Telnet
2、運(yùn)行Telnet服務(wù)
3、移除文件
4、使用Telnet遠(yuǎn)程連接
第三步:卸載舊版本SSH
第四步:安裝依賴包
第五步:升級(jí)SSL
1、解壓源碼包?
2、進(jìn)入源碼包執(zhí)行config文件
3、編譯安裝
4、配置軟連接
5、查看是否安裝成功
第六步:升級(jí)SSH
1、解壓源碼包
2、進(jìn)入源碼包目錄編譯安裝?
?3、復(fù)制配置文件
4、配置/etc/ssh/sshd_config文件(允許root賬戶遠(yuǎn)程登錄)
5、添加SSH開(kāi)機(jī)自啟動(dòng)
6、重啟ssh服務(wù),查看sshd運(yùn)行狀態(tài)
7、查看安裝結(jié)果
8、刪除telnet-server包
引言???????
最近接了一個(gè)安全服務(wù)加固項(xiàng)目,看了一眼大部分是基于SSH與SSL的CVE漏洞,根據(jù)修復(fù)建議就是升級(jí)更高的版本,或者打補(bǔ)丁,于是就對(duì)服務(wù)器的OpenSSH和OpenSSL進(jìn)行了升級(jí)。(升級(jí)了一天,感覺(jué)自己就是敲鍵盤的猴子,手指頭酸痛酸痛的??),廢話不多說(shuō),記錄一下升級(jí)的步驟和遇到的坑,希望可以幫助到大家~
OpenSSH9.4P1要求OpenSSH版本最低為1.1
當(dāng)前操作系統(tǒng)情況
?。。∵@一步非常重要?。。?/p>
先確定服務(wù)器操作系統(tǒng)的版本,因?yàn)椴煌姹镜牟僮飨到y(tǒng)用到的命令存在很大的差異。比如centOS 6版本就需要手動(dòng)安裝很多組件,可以使用下面的命令確定操作系統(tǒng)版本以及OpenSSH與OpenSSL版本:
[root@xiaogu ~]# cat /etc/redhat-release //查看操作系統(tǒng)版本
CentOS Linux release 7.9.2009 (AltArch)
[root@xiaogu ~]# ssh -V //查看SSH和SSL版本
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
這里是本機(jī)的操作系統(tǒng)和當(dāng)前的OpenSSH與OpenSSL版本:
操作系統(tǒng)版本:Centos?Linux?release 7.9.2009
SSH版本:OpenSSH 7.4p1 ? ? ?SSL版本:OpenSSL 1.0.2k
第一步:下載SSH和SSL安裝包
這里下載有兩種方式:
1、離線安裝一般是自己現(xiàn)在官網(wǎng)上下載好安裝包,傳到服務(wù)器中(筆者安裝方式)
2、通過(guò)wget下載
?。?!離線安裝!?。?span style="background-color:#fbd4d0;">必須先傳安裝包,因?yàn)楹竺鎰h除舊版本ssh和ssl就無(wú)法傳文件了
我這里將SSH升級(jí)到最新版本9.4p1,SSL升級(jí)到1.1.1v,如下圖,已將安裝包傳至服務(wù)器中
第二步:安裝配置Telnet(防止ssh安裝失敗無(wú)法連接)
1、安裝Telnet
一般Linux系統(tǒng)自帶Telnet客戶端,我們只需要安裝服務(wù)端即可;另外的,Telnet運(yùn)行需要依靠xinetd組件,這里我一起下載,命令如下:
[root@xiaogu ~]# yum install telnet-server.x86_64 xinetd.x86_64
2、運(yùn)行Telnet服務(wù)
[root@xiaogu ~]# systemctl enable telnet.socket
[root@xiaogu ~]# systemctl start telnet.socket //啟動(dòng)telnet.socket
[root@xiaogu ~]# systemctl start xinetd //啟動(dòng)telnet.socket
[root@xiaogu ~]# systemctl status telnet.socket //查看telnet狀態(tài)
● telnet.socket - Telnet Server Activation Socket
Loaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled; vendor preset: disabled)
Active: active (listening) since Wed 2023-08-30 16:41:59 EDT; 6min ago
Docs: man:telnetd(8)
Listen: [::]:23 (Stream)
Accepted: 0; Connected: 0
Aug 30 16:41:59 xiaogu systemd[1]: Listening on Telnet Server Activation Socket.
3、移除文件
Linux系統(tǒng)中默認(rèn)不允許root賬戶telnet遠(yuǎn)程登錄,這里需要移除配置文件,保證root賬戶能夠遠(yuǎn)程登錄。
[root@xiaogu ~]# mv /etc/securetty /etc/securetty.bak
4、使用Telnet遠(yuǎn)程連接
這里我們切換到Telnet協(xié)議進(jìn)行遠(yuǎn)程連接,防止后面卸載就版本SSH斷連。
第三步:卸載舊版本SSH
[root@xiaogu ~]# yum remove openssh -y //卸載舊版本SSH
[root@xiaogu ~]# rm -rf /etc/ssh/* //刪除原SSH文件
第四步:安裝依賴包
[root@xiaogu ~]# yum -y install zlib* pam-* gcc make
第五步:升級(jí)SSL
1、解壓源碼包?
[root@xiaogu ~]# tar -zxvf openssl-1.1.1v.tar.gz
2、進(jìn)入源碼包執(zhí)行config文件
[root@xiaogu ~]# cd /root/openssl-1.1.1v
[root@xiaogu openssl-1.1.1v]# ./config --prefix=/usr/local/openssl
//這里順利安裝后直接看3、編譯安裝
- 可能會(huì)遇到的報(bào)錯(cuò)信息1:
?????????????Operating system: aarch64-whatever-linux2
? ? ? ? ? ? ?You need Perl 5.?
這是由于未安裝perl導(dǎo)致的,只需安裝perl后,再重新運(yùn)行config文件即可。
[root@xiaogu openssl-1.1.1v]# yum install perl* //安裝Perl命令
[root@xiaogu openssl-1.1.1v]# ./config --prefix=/usr/local/openssl //安裝Perl后再重新執(zhí)行
- 可能會(huì)遇到的報(bào)錯(cuò)信息2:
? ? ? ? ?Can't locate IPC/Cmd.pm in @IN。。。。。
[root@xiaogu openssl-1.1.1v]# yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
[root@xiaogu openssl-1.1.1v]# ./config --prefix=/usr/local/openssl //重新執(zhí)行
3、編譯安裝
[root@xiaogu openssl-1.1.1v]# make -j4 && make install
4、配置軟連接
[root@xiaogu openssl-1.1.1v]# ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@xiaogu openssl-1.1.1v]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@xiaogu openssl-1.1.1v]# ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
可能遇到的報(bào)錯(cuò)信息:提示已存在。。。。
將參數(shù)換成-b即可文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-760374.html
5、查看是否安裝成功
[root@xiaogu openssl-1.1.1v]# openssl version
OpenSSL 1.1.1v 1 Aug 2023 //出現(xiàn)類似這樣的信息說(shuō)明升級(jí)安裝成功了
第六步:升級(jí)SSH
1、解壓源碼包
[root@xiaogu ~]# tar -zxvf openssh-9.4p1.tar.gz
2、進(jìn)入源碼包目錄編譯安裝?
[root@xiaogu openssh-9.4p1]# ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/openssl/include --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam && make -j4&& make install
如果找不到openssl?lib,執(zhí)行:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-760374.html
[root@xiaogu openssh-9.4p1]# ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/openssl/include --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords CCFLAGS="-I /usr/lib/openssl/openssl/include" LDFLAGS="-L /usr/lib/openssl/openssl/lib64" --with-pam && make && make install
?3、復(fù)制配置文件
[root@xiaogu openssh-9.4p1]# cp -a contrib/redhat/sshd.init /etc/init.d/sshd
[root@xiaogu openssh-9.4p1]# chmod u+x /etc/init.d/sshd
4、配置/etc/ssh/sshd_config文件(允許root賬戶遠(yuǎn)程登錄)
[root@xiaogu ~]# vim /etc/ssh/sshd_config
PasswordAuthentication yes //取消該行注釋
PermitRootLogin yes //添加改行,允許root賬戶遠(yuǎn)程登錄
5、添加SSH開(kāi)機(jī)自啟動(dòng)
[root@xiaogu ~]# chkconfig --add sshd
[root@xiaogu ~]# chkconfig sshd on
6、重啟ssh服務(wù),查看sshd運(yùn)行狀態(tài)
[root@xiaogu ~]# systemctl restart sshd //重啟sshd服務(wù)
[root@xiaogu ~]# systemctl status sshd //查看sshd運(yùn)行狀態(tài)
● sshd.service - SYSV: OpenSSH server daemon
Loaded: loaded (/etc/rc.d/init.d/sshd; bad; vendor preset: enabled)
Active: active (running) since Wed 2023-08-30 19:39:40 EDT; 8s ago
Docs: man:systemd-sysv-generator(8)
Process: 31118 ExecStart=/etc/rc.d/init.d/sshd start (code=exited, status=0/SUCCESS)
Main PID: 31126 (sshd)
Tasks: 1
CGroup: /system.slice/sshd.service
└─31126 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups
Aug 30 19:39:40 xiaogu systemd[1]: Starting SYSV: OpenSSH server daemon...
Aug 30 19:39:40 xiaogu sshd[31118]: /sbin/restorecon: lstat(/etc/ssh/ssh_host_dsa_key.pub) failed: No such file or directory
Aug 30 19:39:40 xiaogu sshd[31126]: Server listening on 0.0.0.0 port 22.
Aug 30 19:39:40 xiaogu sshd[31126]: Server listening on :: port 22.
Aug 30 19:39:40 xiaogu sshd[31118]: Starting sshd:[ OK ]
Aug 30 19:39:40 xiaogu systemd[1]: Started SYSV: OpenSSH server daemon.
7、查看安裝結(jié)果
[root@xiaogu ~]# ssh -V
OpenSSH_9.4p1, OpenSSL 1.1.1v 1 Aug 2023 //已升級(jí)安裝完成
8、刪除telnet-server包
[root@xiaogu ~]# yum remove telnet-server -y //只刪除服務(wù)端,不刪除客戶端,方便以后安裝
到了這里,關(guān)于CentOS7升級(jí)SSH最新版本(9.4p1)詳細(xì)步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!