centos ssh一鍵升級到9.8版本腳本

背景

前端時間暴露出ssh漏洞,需要將服務器ssh版本,目前ssh版本最新版為9.8,故在服務器測試,準備將所有服務器ssh版本升級。腳本在centos7.6上親測可用。
#!/bin/bash
#Author Mr zhangECHO_GREEN()
{echo -e "\033[32m $1...\033[0m"
}ECHO_RED()
{echo -e "\033[31m $1...\033[0m" 
}
ECHO_PURPLE()
{echo -e "\033[35m $1...\033[0m"
}function InstallLib(){yum -y install  gcc wget zlib-devel pam-devel libselinux-devel 
}function InstallSsl(){ECHO_GREEN "start to install ssl"yum remove openssl -y wget wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gztar axf openssl-1.1.1w.tar.gzcd openssl-1.1.1w && ./config --prefix=/usrmake && make installcd ..SslVersion=$(openssl version)ECHO_GREEN "ssl : ${SslVersion} install finished!"}function InstallSshd(){mkdir /home/sshcp /etc/ssh/sshd_config /home/ssh/sshd_config.bakcp /etc/pam.d/sshd /home/ssh/sshd.bakwget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz# remove origin sshdrpm -e --nodeps `rpm -qa | grep openssh`rpm -qa opensshtar axf openssh-9.8p1.tar.gzcd openssh-9.8p1./configure --prefix=/usr/local/openssh9.8p1 --exec-prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-selinux --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardeningmake && make installchmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_keycd ..cp -a ./openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshdchmod u+x /etc/init.d/sshdcp /home/ssh/sshd_config.bak /etc/ssh/sshd_configcp /home/ssh/sshd.bak /etc/pam.d/sshdchkconfig --add sshdchkconfig sshd on# 去掉注釋sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_configsed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_configsed -i 's/#UseDNS no/UseDNS no/' /etc/ssh/sshd_configsed -i '$a\# 在行尾增加",ecdh-sha2-nistp521",以滿足ecdsa公鑰方式登錄(密鑰長度521)'  /etc/ssh/sshd_configsed -i '$a\KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1'  /etc/ssh/sshd_configsed -i '$a\# 增加",ssh-rsa",以滿足RSA 登錄'  /etc/ssh/sshd_configsed -i '$a\HostKeyAlgorithms ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512,ssh-rsa'  /etc/ssh/sshd_configsed -i '$a\PubkeyAcceptedKeyTypes ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512,ssh-rsa'  /etc/ssh/sshd_configsystemctl restart sshd}UpToVersion="OpenSSH_9.8p1"
#注意:升級前與一臺服務器做好免密登陸
CurVersion=$(ssh -V 2>&1 | awk -F "," '{print $1}')
ECHO_GREEN "current ssh version is: ${CurVersion}"
if [[ ${CurVersion} !=  ${UpToVersion} ]];thenECHO_GREEN "continue"ECHO_GREEN " start to update ,please wait----"InstallLibInstallSslInstallSshdECHO_GREEN "sshd install success!"
elseECHO_GREEN "no need to update"ECHO_GREEN "skip"
fi

升級后影響

1.升級ssh過程中需要升級openssl,可能會導致nginx等服務不可用,升級需謹慎,慎重!!

2.可能會導致sftp不可用

解決方法

[root@localhost ~]# find / -name sftp-server
/usr/libexec/sftp-server
#將配置文件sshd Subsystem sftp 修改為上述結果 例如:
[root@localhost ~]# cat /etc/ssh/sshd_config | grep Subsystem 
Subsystem	sftp	/usr/libexec/sftp-server

3.有可能會修改環境變量,導致 /usr/local/bin下的可執行文件不可用
解決方法

#修改/etc/profile 增加
[root@localhost ~]# cat /etc/profile| grep export 
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/40100.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40100.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40100.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

昇思MindSpore學習總結九——FCN語義分割

1、語義分割 圖像語義分割(semantic segmentation)是圖像處理和機器視覺技術中關于圖像理解的重要一環,AI領域中一個重要分支,常被應用于人臉識別、物體檢測、醫學影像、衛星圖像分析、自動駕駛感知等領域。 語義分割的目的是對圖…

【楚怡杯】職業院校技能大賽 “Python程序開發”賽項樣題三

Python程序開發實訓 (時量:240分鐘) 中國XX 實訓說明 注意事項 1. 請根據提供的實訓環境,檢查所列的硬件設備、軟件清單、材料清單是否齊全,計算機設備是否能正常使用。 2. 實訓結束前,在實訓平臺提供的…

從數據到智能,英智私有大模型助力企業實現數智化發展

在數字化時代,數據已經成為企業最重要的資源。如何將這些數據轉化為實際的業務價值,是每個企業面臨的重要課題。英智利用業界領先的清洗、訓練和微調技術,對企業數據進行深度挖掘和分析,定制符合企業業務場景的私有大模型&#xf…

篩選有合并單元格的數據

我們經常會使用合并單元格,比如下面表格,因為一個部門中會有不同的員工,就會出現如下表格: 但是當按部門去篩選的時候,會發現并不是我們預期的結果,部門列有空值,每個部門只有第一行數據可以被…

虛幻引擎 快速的色度摳圖 Chroma Key 算法

快就完了 ColorTolerance_PxRange為容差,這里是0-255的輸入,也就是px單位,直接用0-1可以更快 Key為目標顏色

PySide6 實現資源的加載:深入解析與實戰案例

目錄 1. 引言 2. 加載內置資源 3. 使用自定義資源文件(.qrc) 創建.qrc文件 編譯.qrc文件 加載資源 4. 動態加載UI文件 使用Qt Designer設計UI 加載UI文件 5. 注意事項與最佳實踐 6. 結論 在開發基于PySide6的桌面應用程序時&…

什么是 DDoS 攻擊及如何防護DDOS攻擊

自進入互聯網時代,網絡安全問題就一直困擾著用戶,尤其是DDOS攻擊,一直威脅著用戶的業務安全。而高防IP被廣泛用于增強網絡防護能力。今天我們就來了解下關于DDOS攻擊,以及可以防護DDOS攻擊的高防IP該如何正確選擇使用。 一、什么是…

個人引導頁+音樂炫酷播放器(附加源碼)

個人引導頁音樂炫酷播放器 效果圖部分源碼完整源碼領取下期更新內容 效果圖 部分源碼 //網站動態標題開始 var OriginTitile document.title, titleTime; document.addEventListener("visibilitychange", function() {if (document.hidden) {document.title "…

極客時間 - 《Linux 性能優化實戰》

極客時間 - 《Linux 性能優化實戰》原文鏈接:https://time.geekbang.org/column/intro/100020901 02 | 基礎篇:到底應該怎么理解“平均負載”?在Linux系統中,當一個進程啟動時,操作系統會為該進程申請哪些資源&#x…

Python學習從0開始——Kaggle實踐可視化001

Python學習從0開始——Kaggle實踐可視化001 一、創建和加載數據集二、數據預處理1.按name檢查,處理重復值(查重)2.查看存在缺失值的列并處理(缺失值處理)2.1按行或列查看2.2無法推測的數據2.3可由其它列推測的數據 3.拆…

QT實現GIF動圖顯示(小白版,可直接copy使用)

需要你自己提前設置好動圖的位置&#xff0c;本例中存放于"/Users/PLA/PLA/PLA.gif widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMovie> #include <QLabel>class Widget : public QWidget {Q_OBJECTpublic:explicit Wid…

mysql數據表時間字段自動存時間

時間字段自動存時間&#xff0c;不用通過插入語句存當前操作時間&#xff1a; created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 創建時間,

深入分析 Android BroadcastReceiver (九)

文章目錄 深入分析 Android BroadcastReceiver (九)1. Android 廣播機制的擴展應用與高級優化1.1 廣播機制的擴展應用1.1.1 示例&#xff1a;有序廣播1.1.2 示例&#xff1a;粘性廣播1.1.3 示例&#xff1a;局部廣播 1.2 廣播機制的高級優化1.2.1 示例&#xff1a;使用 Pending…

空調計費系統是什么,你知道嗎

空調計費系統是一種通過對使用空調的時間和能源消耗進行監測和計量來進行費用計算的系統。它廣泛應用于各種場所&#xff0c;如家庭、辦公室、商場等&#xff0c;為用戶提供了方便、準確的能源使用管理和費用控制。 可實現功能 智能計費&#xff1a;中央空調分戶計費系統通過智…

SOLIDWORKS分期許可(訂閱形式),降低前期的投入成本!

SOLIDWORKS 分期許可使您能夠降低前期軟件成本&#xff0c;同時提供對 SOLIDWORKS 新版本和升級程序的即時訪問&#xff0c;以及在每個期限結束時調整產品的靈活性&#xff0c;幫助您跟上市場需求和競爭壓力的步伐。 目 錄&#xff1a; ★ 1 什么是SOLIDWORKS分期許可 ★ 2 …

gen_region_line 生成直線

gen_region_line (Operator) Name 名稱 gen_region_line — Store input lines as regions.將輸入行存儲為region。 生成直線&#xff0c;直線區域 Signature 簽名 gen_region_line( : RegionLines : BeginRow, BeginCol, EndRow, EndCol : ) Description 描述 運算符ge…

【LLM大模型】程序員為什么要學習大模型應用開發?

0 prompt engineer 就是prompt工程師它的底層透視。 1 學習大模型的重要性 底層邏輯 人工智能大潮已來&#xff0c;不加入就可能被淘汰。就好像現在職場里誰不會用PPT和excel一樣&#xff0c;基本上你見不到。你問任何一個人問他會不會用PPT&#xff0c;他都會說會用&#…

請查收!模擬電路精選書單一份(可下載)

在電子工程的廣闊天地中&#xff0c;模擬電路設計是一門藝術&#xff0c;也是一種科學。它要求設計師不僅要有深厚的理論知識&#xff0c;還要有精湛的實踐技能。隨著技術的發展&#xff0c;模擬電路設計領域不斷涌現新的理論、技術和工具&#xff0c;這使得學習和掌握模擬設計…

css使用偽元素after或者before的時候想要給after設置z-index無效

css使用偽元素after或者before的時候想要給after或者before設置一個層級關系&#xff0c;使該偽類寫入的樣式在box的下面&#xff0c;發現給box設置z-index無效&#xff0c; 需要找到父級元素&#xff0c;在父級元素上設置z-index值并且將偽類設置z-index:-1

開放式耳機哪個牌子好?五款優質產品推薦,老司機帶飛!

后臺有粉絲滴滴我說&#xff0c;還想再多分享一些耳機的測評或者選購指南&#xff0c;開放式耳機確實越來越火了&#xff0c;市面上的品牌從十幾塊到幾千塊的開放式耳機也比比皆是&#xff0c;但是要選擇適合自己的一款開放式耳機確實還挺難的&#xff0c;所以作為耳機測評師這…