如何用ps做網(wǎng)站效果圖百度電腦版網(wǎng)頁版
?
這樣,你先在網(wǎng)上找一套完整openssh升級方案(不是yum或apt的,要源碼安裝的),然后在虛擬機上反復安裝測試,直到把他理解了、背下來。
面試的時候讓你簡單說說linux命令什么的,你就直接把這個方案從道到尾講一下,基礎(chǔ)命令一帶而過就行,重點的命令解釋下。這樣你所謂的“熟悉linux操作系統(tǒng)”基本就差不多了。
幾乎服務器都有ssh,但凡大企業(yè)或重點行業(yè)都會漏掃,就需要升級openssh。這個升級方案包含很多基礎(chǔ)命令和源碼安裝過程,代表性比較強,尤其配合telnet登陸升級對安全性也有加分。
?
很多人評論說方案怎么怎么樣,升級有沒有必要,隱藏端口等等。但請看問題:校招中的“熟悉linux操作系統(tǒng)”一般是指達到什么程度?這個“程度”沒有固定指標,那最簡單辦法就是讓結(jié)果更直觀。就是用知行合一,理論聯(lián)系實際。方案是否合理、是否浪費服務器資源,與題主想應對校招關(guān)系不大。我面試的時候如果面試官讓我說幾個常用命令,那我就簡單深入的講下這個方案基本是可以過的?,F(xiàn)在我把之前用的方案貼出來(centos7.6下openssh8.6p1),想應對面試的可以拿去試試。至于討論方案是否可行的,可以去技術(shù)論壇。
一、升級背景:
漏洞掃描顯示linux服務器openssh有高危漏洞,需要進行修復。openssh是遠程登錄到linux服務器
的重要工具,要修復此漏洞需升級到最高版本(2021年5月中旬最新版本為8.6p1)。二、升級說明:
1、所有升級文件均從官網(wǎng)下載。
2、linux服務器系統(tǒng)為Centos7可適用此方案。
3、Centos7系統(tǒng)需要有yum源,方便解決依賴關(guān)系問題。如無法實現(xiàn),則需上傳同系統(tǒng)版本安裝映
像文件,作為本地yum源。
4、安裝過程受網(wǎng)絡(luò)影響極大,一旦出現(xiàn)不可抗因素致網(wǎng)絡(luò)斷開,可能會導致升級中斷,無法遠程
連接,出現(xiàn)此情況需現(xiàn)場人員配合解決。
5、升級過程出現(xiàn)問題需現(xiàn)場人員根據(jù)回退方案進行恢復操作。三、升級過程:
(0)安裝并啟用telnet
1、安裝telnet
yum install telnet-server telnet xinet
2、修改配置文件
vi /etc/xinetd.d/telnetdisable= no //將yes改為no
#讓root可以登錄
#mv /etc/securetty /etc/securetty.bak
重啟服務
service xinetd restart
3、啟動相應服務,然后使用telnet登錄到服務器
systemctl start telnet.socket
systemctl start xinetd
chkconfig --list
(一)配置yum源
1、上傳與生產(chǎn)環(huán)境相同的centos7版本的iso和openssh8.6p1的安裝包到服務器。2、掛載iso
創(chuàng)建iso存放目錄和掛載目錄,并上傳iso鏡像文件到iso存放目錄/mnt/iso下
mkdir /mnt/iso
mkdir /mnt/cdrom
mv CentOS-7.6-x86_64-DVD-1810.iso /mnt/iso/
掛載iso鏡像到掛載目錄/mnt/cdrom下
mount -o loop /mnt/iso/CentOS-7.6-x86_64-DVD-1810.iso /mnt/cdrom
使用df -h命令查詢掛載是否成功
df -h3、備份原本地源
進入repos配置目錄
cd /etc/yum.repos.d/
創(chuàng)建備份文件夾
mkdir repobak
移動配置文件到repobak文件夾中
mv *.repo repobak/4、新建光盤源配置文件
vi CentOS-Media.repo
輸入下列內(nèi)容
```
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom/gpgcheck=0
enabled=1
```
5、測試安裝源
yum clean all
yum makecache
(二)升級openssh版本到8.6p1
1、下載或上傳安裝包openssh-8.6p1.tar.gz到/root目錄下
進入安裝包所在文件夾
cd /root/linshi2、關(guān)閉Selinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config3、安裝依賴關(guān)系
yum install -y gcc pam-devel rpm-build wget zlib-devel openssl-devel net-tools
tar -xvf openssh-8.6p1.tar.gz
cd openssh-8.6p14、卸載舊版openssh
rpm -qa |grep openssh
ps:下一步驟為刪除原有ssh,但不會影響現(xiàn)在進行的ssh會話,所以整個操作過程不要斷開ssh會話,
否則無法再次連接,只能由現(xiàn)場人員進行回退后重新操作(推薦使用telnet進行升級)。
for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps;done5、設(shè)置、編譯、安裝
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl/lib --without-hardening
mv /etc/ssh /etc/ssh.old
cp contrib/redhat/sshd.pam /etc/pam.d/sshd
#編譯
make
#安裝
make install6、設(shè)置自啟動
復制啟動腳本到/etc/init.d
cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list|grep sshd
sed -i "32a PermitRootLogin yes" /etc/ssh/sshd_config
#重啟ssh服務
service sshd restart7、檢查升級情況
ssh -V
輸出版本號為“OpenSSH_8.6p1”,說明更新成功(三)關(guān)閉telnet
關(guān)閉服務
systemctl stop telnet.socket
systemctl stop xinetd
#root可以登錄
#mv /etc/securetty.bak /etc/securetty卸載telnet
yum remove telnet-server xinetdps:此時ssh是可以連接狀態(tài),不要斷開連接防止修改出錯無法連接服務器。測試新端口是否打開
telnet 127.0.0.1 22
#出現(xiàn)如下顯示表示端口正常打開
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.6
使用遠程工具新開窗口,連接新端口測試修改是否成功,如有問題馬上使用之前的連接進行檢查修改。(四)回退方案
1、掛載iso文件作為yum源
mount -o loop /mnt/iso/CentOS-7.6-x86_64-DVD-1810.iso /mnt/cdrom
2、安裝openssh
yum install openssh*
3、啟動ssh
service sshd start
4、重新連接ssh,然后從(二)4開始做。