1. 程式人生 > 其它 >Linux升級ssh服務

Linux升級ssh服務

遠端升級openssh服務先安裝telnet服務,正常來說使用ssh協議進行連線,連線之後不斷開的話升級是沒有問題的,ssh配置如果修改,網路突然波動導致斷開就連不上了,所以安裝telnet備用去進行連線,也可以直接通過telnet去操作

環境:演示系統centos7,工具xshell

1、檢視當前版本

rpm -qa|grep openssh
#檢視當期ssh安裝包版本
ssh -V
#檢視ssh版本

2、安裝telnet服務

沒有安裝,有直接啟動就行了

yum -y install xinetd telnet-server
#安裝telnet,內網可以通過抽取映象包中的安裝包或映象站下載複製上去進行安裝
# telnet服務需要通過xinetd服務進行管理,所以需要安裝xinetd

3、設定允許telnet終端遠端登入

pts虛擬終端,允許4個終端登入登入
/etc/securetty 檔案允許你規定“root”使用者可以從哪個tty裝置登入,裡面存在的都是允許登入的

echo pts/0 >> /etc/securetty
echo pts/1 >> /etc/securetty
echo pts/2 >> /etc/securetty
echo pts/3 >> /etc/securetty

4、啟動telnet

systemctl start xinetd
systemctl enable xinetd
systemctl start telnet.soxket
systemctl enable telnet.socket

檢視狀態

5、遠端測試telnet連線是否成功

使用telnet遠端訪問測試

6、openssh原始碼包下載

原始碼包可以從官網下載,或者阿里雲、騰訊雲等映象站下載
一般伺服器都是內網,下載上傳過去,有外網可以直接使用wget直接下載到服務裝置上
1、開啟官網

2、滾輪下翻,到下面的位置

3、選擇指定版本下載

4、使用wget下載
前面是網址,最後面試你要下載的包的名字

wget  -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
# -c,支援斷點續傳
# 網址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
# 包名:openssh-8.0p1.tar.gz
#放一起:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz

7、上傳原始碼包到伺服器

伺服器openssh版本:OpenSSH_7.4p1

[root@qianshuiliyu ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

將要升級的原始碼包版本

[root@qianshuiliyu ~]# ls openssh-8.0p1.tar.gz 
openssh-8.0p1.tar.gz

8、依賴包安裝

先安裝依賴庫在進行升級
不存在yum源等先下載或者從映象抽取出來在上傳到伺服器安裝,有依賴的先安裝依賴包,使用rpm直接安裝

yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pam-devel libselinux-devel

9、備份原有ssh資料與解壓原始碼包

mkdir /etc/sshbak`date +-%Y-%m-%d`
#建立備份目錄,加上當前日期
mv /etc/ssh/* /etc/sshbak-2022-03-30/
#移動ssh下的資料到備份目錄,後期生成新的檔案不是覆蓋,可能與你之前用的不通用
mkdir /sshd
#建立安裝目錄
tar -xzvf openssh-8.0p1.tar.gz -C /sshd/
#解壓原始碼包到安裝目錄

9、原始碼安裝

進入解壓後的目錄,進行安裝

pwd
/sshd/openssh-8.0p1
#當前路徑
./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/sshd --sysconfdir=/etc/ssh
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
#由於啟用了PAM則需要安裝一個配置檔案,該檔案在contrib目錄下
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
#拷貝開機啟動指令碼
make && make install
#編譯成可執行檔案

10、配置檔案修改

 vim /etc/ssh/sshd_config
 #PermitRootLogin prohibit-password
 #修改為
 PermitRootLogin yes
 #允許root遠端登入
 #下面的預設就是開啟的可以不用註釋掉,dns與公鑰
 UseDNS no
 #關閉dns選項加快訪問
 PubkeyAuthentication yes
 #公鑰驗證

11、啟動服務

systemctl restart sshd
#重啟ssh服務
systemctl status sshd
#檢視狀態,預設開機自啟動的,不是就新增到開機自啟動中
systemctl enable sshd
# 設定開機自啟動
ssh -V
OpenSSH_8.0p1, OpenSSL 1.0.2k-fips  26 Jan 2017
#檢視當前版本



也可以reboot重啟進行驗證

12關閉telnet

成功升級後停掉telnet服務
xintd如果還管理其他服務就不用關閉,只關閉telnet服務就行

systemctl stop xintd.server
systemctl stop telnet.socket
systemctl disable xintd.server
systemctl disable telnet.socket