SSH升級版本--8.2p1

来源:https://www.cnblogs.com/qianyuliang/archive/2020/05/23/12941675.html
-Advertisement-
Play Games

前期準備 執行yum update openssh先升級下. 反正官方提供的這種升級是沒問題的。如果之前手動編譯操作過openssh的升級,變更了預設配置文件路徑什麼的請自行測試。) (這裡準備統一openssh版本為7.4p1之後再統一編譯安裝升級到openssh8.2p1) [root@node ...


前期準備

執行yum update  openssh先升級下.

反正官方提供的這種升級是沒問題的。如果之前手動編譯操作過openssh的升級,變更了預設配置文件路徑什麼的請自行測試。)

(這裡準備統一openssh版本為7.4p1之後再統一編譯安裝升級到openssh8.2p1)

[root@node1 ~]# yum update openssh -y

[root@node1 ~]# ssh -V

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

 

下載openssh以及openssl安裝包

openssl下載鏈接:https://www.openssl.org/source/

openssh下載鏈接:http://www.openssh.com/portable.html

 

安裝配置telnet

安裝telnet-server以及xinetd

[root@node1 ~]# yum install -y xinetd telnet-server

現在很多centos7版本安裝telnet-server以及xinetd之後沒有一個叫telnet的配置文件了。

如果下麵telnet文件不存在的話,可以跳過這部分的更改

[root@node1 ~]# ll /etc/xinetd.d/telnet
ls: cannot access /etc/xinetd.d/telnet: No such file or directory

 

如果下麵文件存在,請更改配置telnet可以root登錄,把disable = no改成disable = yes

[root@rhel yum.repos.d]# cat /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
#   unencrypted username/password pairs for authentication.
service telnet
{
    disable = no
    flags       = REUSE
    socket_type = stream        
    wait        = no
    user        = root
    server      = /usr/sbin/in.telnetd
    log_on_failure  += USERID
}
 
[root@rhel yum.repos.d]# vim /etc/xinetd.d/telnet
[root@rhel yum.repos.d]# cat /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
#   unencrypted username/password pairs for authentication.
service telnet
{
    disable = yes
    flags       = REUSE
    socket_type = stream        
    wait        = no
    user        = root
    server      = /usr/sbin/in.telnetd
    log_on_failure  += USERID
}

配置telnet登錄的終端類型,在/etc/securetty文件末尾增加一些pts終端,如下

pts/0

pts/1

pts/2

pts/3

 

啟動telnet服務,並設置開機自動啟動

[root@node1 ~]# systemctl start xinetd
[root@node1 ~]# systemctl enable xinetd
[root@node1 ~]# systemctl start telnet.socket
[root@node1 ~]# systemctl enable telnet.socket
Created symlink from /etc/systemd/system/sockets.target.wants/telnet.socket to /usr/lib/systemd/system/telnet.socket

 

測試,切換到telnet登錄

 

 

 

安裝依賴包

升級需要幾個組件,有些是和編譯相關的等

[root@node1 ~]# yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel

安裝pam和zlib等(後面的升級操作可能沒用到pam,安裝上也沒啥影響,如果不想安裝pam請自行測試)

[root@node1 ~]# yum install  -y pam* zlib*

 

安裝openssl

備份下麵2個文件或目錄(如果存在的話就執行)

[root@node1 openssl-1.1.1g]# ll /usr/bin/openssl 
-rwxr-xr-x 1 root root 555288 Aug  9  2019 /usr/bin/openssl
[root@node1 openssl-1.1.1g]# mv /usr/bin/openssl /usr/bin/openssl.20200522
[root@node1 openssl-1.1.1g]# ll /usr/include/openssl/
total 1864
-rw-r--r-- 1 root root   6146 Aug  9  2019 aes.h
-rw-r--r-- 1 root root  63204 Aug  9  2019 asn1.h
-rw-r--r-- 1 root root  24435 Aug  9  2019 asn1_mac.h
……
[root@node1 openssl-1.1.1g]# mv /usr/include/openssl /usr/include/openssl.20200522bak

編譯安裝新版本的openssl

配置、編譯、安裝3個命令一起執行

&&符號表示前面的執行成功才會執行後面的

[root@node1 openssl-1.1.1g]# pwd
/root/openssh/openssl-1.1.1g
[root@node1 openssl-1.1.1g]# ./config –prefix=/usr/local/openssl && make && make install

下麵2個文件或者目錄做軟鏈接 (剛纔前面的步驟mv備份過原來的)

[root@node1 openssl-1.1.1g]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@node1 openssl-1.1.1g]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
[root@node1 openssl-1.1.1g]# ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so

 

命令行執行下麵2個命令載入新配置

[root@node1 openssl-1.1.1g]# echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
[root@node1 openssl-1.1.1g]# ldconfig

查看確認版本

[root@node1 openssl-1.1.1g]# openssl version
OpenSSL 1.1.1g  21 Apr 2020

 

安裝openssh 

解壓文件

[root@node1 openssh]# tar -xf openssh-8.2p1.tar.gz 
[root@node1 openssh]# cd openssh-8.2p1
[root@node1 openssh-8.2p1]# ll

可能文件預設顯示uid和gid數組都是1000,這裡重新授權下。不授權可能也不影響安裝(請自行測試)(強迫症自己重新授權了)

[root@node1 openssh-8.2p1]# chown root:root -R /root/openssh/openssh-8.2p1

命令行備份原先ssh的配置文件和目錄

然後配置、編譯、安裝

[root@node1 openssh-8.2p1]# chown root:root -R /root/openssh/openssh-8.2p1
[root@node1 openssh-8.2p1]# mv /etc/ssh /etc/ssh.20200521bak   
[root@node1 openssh-8.2p1]# ./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ -with-openssl-includes=/usr/include/openssl --with-ssl-dir=/usr/local/openssl/ --with-zlib --with-md5-passwords --with-pam && make && make install

從原先的解壓的包中拷貝一些文件到目標位置(如果目標目錄存在就覆蓋)

(可能下麵的ssh.pam文件都沒用到,因為sshd_config配置文件貌似沒使用它,請自行測試。本人是拷貝了)

[root@node1 openssh-8.2p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
[root@node1 openssh-8.2p1]# cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
[root@node1 openssh-8.2p1]# chmod +x /etc/init.d/sshd
[root@node1 openssh-8.2p1]# chkconfig --add sshd
[root@node1 openssh-8.2p1]# systemctl enable sshd

 把原先的systemd管理的sshd文件刪除或者移走或者刪除,不移走的話影響我們重啟sshd服務

[root@node1 openssh-8.2p1]# mv /usr/lib/systemd/system/sshd.service /root/

設置sshd服務開機啟動

[root@node1 openssh-8.2p1]# chkconfig sshd on
Note: Forwarding request to 'systemctl enable sshd.socket'.

接下來測試啟停服務。都正常

[root@node1 openssh-8.2p1]# systemctl restart sshd
[root@node1 openssh-8.2p1]# systemctl status sshd
● sshd.service - SYSV: OpenSSH server daemon
   Loaded: loaded (/etc/rc.d/init.d/sshd; bad; vendor preset: enabled)
   Active: active (running) since Sat 2020-05-23 03:13:21 CST; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 161820 ExecStop=/etc/rc.d/init.d/sshd stop (code=exited, status=0/SUCCESS)
  Process: 161828 ExecStart=/etc/rc.d/init.d/sshd start (code=exited, status=0/SUCCESS)
 Main PID: 161836 (sshd)
    Tasks: 1
   Memory: 852.0K
   CGroup: /system.slice/sshd.service
           └─161836 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups

May 23 03:13:20 node1 systemd[1]: Starting SYSV: OpenSSH server daemon...
May 23 03:13:21 node1 sshd[161836]: Server listening on 0.0.0.0 port 22.
May 23 03:13:21 node1 sshd[161836]: Server listening on :: port 22.
May 23 03:13:21 node1 sshd[161828]: Starting sshd:[  OK  ]
May 23 03:13:21 node1 systemd[1]: Started SYSV: OpenSSH server daemon.

  

查看ssh版本

[root@node1 openssh-8.2p1]# ssh -V
OpenSSH_8.2p1, OpenSSL 1.1.1g  21 Apr 2020

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [toc] 在RHEL系列中,Bash中的快捷鍵是由readline庫來提供,預設是emacs風格的鍵綁定。 使用set命令可以查看當前的模式 快捷鍵的一些說明 Control鍵:PC鍵盤上的Ctrl鍵 Meta鍵:PC鍵盤上的ALT鍵,如果你鍵盤上沒有這個鍵,可以使用ESC鍵代替 ctrl開頭的快 ...
  • 1. --convert-links :把一個website的相對鏈接改成絕對鏈接,使之mirror的網站以網站的方式運行 wget --mirror -c -U "Mozilla" --convert-links -p https://docs.scrapy.org/en/latest/ 2.如果 ...
  • 私有雲技術 使用腳本部署OpenStack平臺 需要兩台主機,一臺控制節點,一臺計算節點 控制節點:安裝MySQL、Keystone、Glance、Nova、Neutron、Dashboard等服務,主要作為認證、鏡像管理節點,以及提供Nova和Neutron服務的管理節點。提供Dashboard界 ...
  • k3s介紹 K3S是一個輕量級的K8S集群,它是Rancher Lab開發的一個新的產品, 目的是在資源有限的設備上面跑K8S。它的最大特點就是小,二進位包只有40MB,只需要512MB的記憶體就能跑起來。K3S目的是在一些資源受限的設備上面把Kubernetes跑起來,主要的應用場景包括Edge,I ...
  • Linux 下三種提高工作效率的文件處理技巧 在 Linux 下工作,打交道最多的就是文件了,畢竟 Linux 下工作一切皆文件嘛。Linux 也為大家提供了多種用於處理文件的命令,合理使用這些命令可以大大節省你的時間,並讓我們的工作負擔不再那麼沉重。 尋找文件的技巧 當我們查找文件時,第一時間想到 ...
  • Mac 安裝 homebrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 報錯: Failed to connect to raw.githu ...
  • 在docker容器里運行的服務必須前臺運行,如果後臺運行會導致容器一啟動就退出了,原因是容器內部本身就只有一個進程在跑,如果你後臺運行,就沒有進程在前臺,所以docker會認為該容器已經宕機;其實我們可以理解為容器內部前臺跑的程式是支撐整個容器為運行態的重要骨架; ...
  • Device Tree Overlays、 dtbo、設備樹堆疊功能 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...