在 ubuntu 18.04 上使用源碼升級 OpenSSH_7.6p1到 OpenSSH_9.3p1

1、檢查系統已安裝的當前 SSH 版本

使用命令 ssh -V 查看當前 ssh 版本,輸出如下:

OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n  7 Dec 2017

2、安裝依賴,依次執行以下命令

sudo apt update
sudo apt install build-essential zlib1g-dev libssl-dev

3、設置環境

為了創建一個合適的環境來安裝 OpenSSH 服務,需要創建一個安裝環境

sudo mkdir /var/lib/sshd
sudo chmod -R 700 /var/lib/sshd/
sudo chown -R root:sys /var/lib/sshd/

4、下載源碼并安裝

從任何可用的HTTP鏡像下載OpenSSH 9.3 版本,或者使用wget命令直接在終端下載

下載源碼到任意文件夾下:
wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz

解壓:
tar -xzf openssh-9.3p1.tar.gz

進入源碼文件夾路徑:
cd openssh-9.3p1/

安裝時如果要啟用PAMSELinux支持,需分別添加--with-pam--with-selinux選項,需要安裝所有必需的頭文件才能使它們正常工作

安裝依賴:
sudo apt install libpam0g-dev libselinux1-dev libkrb5-dev

安裝 ssh,依次執行以下三命令:

./configure --with-kerberos5 --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh
make
sudo make install

安裝完成后,重啟系統,否則遠程連接將繼續使用舊版本

5、檢查新版本

本地查看

打開一個新終端并運行:
ssh -V
在這里插入圖片描述

遠程查看

檢查遠程計算機上OpenSSH 版本是否更改:

ssh -v user@ip

在輸出信息中查找 Remote protocol version 行,如果顯示舊版本號
在這里插入圖片描述需復制新版本,操作如下:

cd /usr/sbin
mv sshd sshd.bak    # 備份舊版本的sshd
sudo cp /usr/local/sbin/sshd sshd     # 復制新版本sshd

再次使用遠程查看版本命令(保險起見,建議復制后進行重啟):

ssh -v suntoon@192.168.147.132

在這里插入圖片描述版本已更新到9.3

各種 OpenSSH 配置文件位于:

  • ~/.ssh/* – 此目錄存儲用戶特定的 ssh 客戶端配置(ssh 別名)和密鑰。
  • /etc/ssh/ssh_config – 該文件包含系統范圍的 ssh 客戶端配置。
  • /etc/ssh/sshd_config – 包含 sshd 服務配置。

6、遠程連接

ssh <user>@<ip>
在這里插入圖片描述

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

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

相關文章

linux 環境收集core文件步驟

Linux環境下進程發生異常而掛掉&#xff0c;通常很難查找原因&#xff0c;但是一般Linux內核給我們提供的核心文件&#xff0c;記錄了進程在崩潰時候的信息&#xff0c;在C語言類的大型項目中&#xff0c;有助于深入定位。其配置流程如下&#xff1a; 1 查看生成core文件開關是…

BOXTRADE-天啟量化分析平臺 主要功能介紹

BOXTRADE-天啟量化分析平臺 主要功能介紹 potato 數學 web 緣起 月暈而風&#xff0c;礎潤而雨 BOXTRADE-天啟量化 歡迎來到天啟量化&#xff01;這是一個專注于量化分析的網站。我們致力于為用戶提供市場行情技術指標和量化策略分析方面的優質內容和資源。 我們的使命是 做…

第4章 微服務框架主體搭建

mini商城第4章 微服務框架主體搭建 一、課題 框架搭建 二、回顧 1、整體業務功能分析 2、根據業務需求設計表結構及字段 三、目標 1、版本控制器的搭建使用 2、能獨立自主的搭建微服務框架 3、學會考慮一些公共的工具組件 4、網關模塊的應用 四、內容 第1章 版本控…

3D虛擬形象數字替身的制作及應用介紹

“虛擬數字人”這一詞匯已經深入人心。從虛擬偶像、虛擬代言人到虛擬主播、虛擬員工各種類型虛擬數字形象不斷進入公眾視野&#xff0c;由于其與Z世代的獨特親和力以及與新媒體平臺的高度適配性&#xff0c;虛擬數字人在各個領域都在呈崛起之勢&#xff0c;并且有著深度的融合&…

167. 兩數之和 II - 輸入有序數組

兩數之和 II - 輸入有序數組 給你一個下標從 1 開始的整數數組 numbers &#xff0c;該數組已按 非遞減順序排列 &#xff0c;請你從數組中找出滿足相加之和等于目標數 target 的兩個數。如果設這兩個數分別是 numbers[index1] 和 numbers[index2] &#xff0c;則 1 < inde…

萬字長文·通俗易懂·一篇包掌握——輸入/輸出·文件操作(c語言超詳細系列)(二)

前言&#xff1a;Hello&#xff0c;大家好&#x1f618;&#xff0c;我是心跳sy&#xff0c;上一節我們主要學習了格式化輸入輸出的基本內容&#xff0c;這一節我們對格式化進行更加深入的了解&#xff0c;對文件概念進行介紹&#xff0c;并且對輸入、輸出與文件讀寫的基本概念…

SpringBoot統?功能處理

前言&#x1f36d; ??????SSM專欄更新中&#xff0c;各位大佬覺得寫得不錯&#xff0c;支持一下&#xff0c;感謝了&#xff01;?????? Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 本章是講Spring Boot 統?功能處理模塊&#xff0c;也是 AOP 的實戰環節&…

18-組件化開發 根組件

組件化開發 & 根組件: 1. 組件化:一個頁面可以拆分成一個個組件&#xff0c;每個組件有著自己獨立的結構、樣式、行為. 好處:便于維護&#xff0c;利于復用->提升開發效率 組件分類: 普通組件 , 根組件 2. 根組件:整個應用最上層的組件&#xff0c;包裹所有普通小組件…

智能家居(4)---火災報警線程封裝

封裝火災報警線程實現智能家居中的火災報警功能 mainPro.c&#xff08;主函數&#xff09; #include <stdio.h> #include "controlDevice.h" #include "inputCommand.h"#include <pthread.h>struct Devices *pdeviceHead NULL; …

分布式理論

CAP和BASE CAP C一致性&#xff08;Consistency&#xff09; 在分布式環境下&#xff0c;一致性是指數據在多個副本之間能否保持一致性的特征。在一致性的需求下&#xff0c;當一個系統在數據一致的狀態下執行更新操作后&#xff0c;應該保證系統的數據仍然處于一致性的狀態…

Python-迭代

1、迭代器 迭代器是一個對象&#xff0c;它可以記錄遍歷的相關信息&#xff0c;迭代器對象從集合的第一個元素開始訪問&#xff0c;直到所有的元素被訪問完結束。迭代器有兩個基本的方法&#xff1a;iter() 和 next()。我們都過命令行工具&#xff0c;了解一下python的底層迭代…

常見指令以及權限理解

常見指令以及權限理解 命令格式&#xff1a; command [-options] parameter1 parameter1 命令 選項 參數1 參數2 1.command為命令名稱&#xff0c;例如變化目錄的cd等 2.中括號[ ]實際在命令中是不存在的&#xff0c;這個中括號代表可選&#xff0c;通常選項前面會添加一個符號…

Go和Java實現模板模式

Go和Java實現模板模式 下面通過一個游戲的例子來說明模板模式的使用。 1、模板模式 在模板模式中&#xff0c;一個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現&#xff0c;但調用將 以抽象類中定義的方式進行。這種類型的設計模式屬于行為型…

react-vite-antd環境下新建項目

vite 創建一個react項目 1. 安裝vite并創建一個react項目1. 我使用的 yarn安裝&#xff0c;基本配置項目名字, 框架react &#xff0c;js2. cd vite-react進入項目目錄安裝node包并啟動項目 2. 安裝引入Ant Design引入依賴&#xff08;我用的yarn&#xff0c;沒有安裝的也可以使…

視頻匯聚/視頻云存儲/視頻監控管理平臺EasyCVR添加螢石云設備詳細操作來啦!

安防視頻監控/視頻集中存儲/云存儲/磁盤陣列EasyCVR平臺可拓展性強、視頻能力靈活、部署輕快&#xff0c;可支持的主流標準協議有國標GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持廠家私有協議與SDK接入&#xff0c;包括海康Ehome、海大宇等設備的SDK等。平臺既具備傳統安…

css偽元素實現li列表圓點相連+錨點跳轉懸浮窗實現

實現效果&#xff1a; html代碼&#xff1a; <div class"sidenav"><ul class"nav-text progressbar"><!-- data-target的值對應要跳轉的模塊的id --><li data-target"module1"><div class"text">錨點…

Effective Java 案例分享(九)

46、使用無副作用的Stream 本章節主要舉例了Stream的幾種用法。 案例一&#xff1a; // Uses the streams API but not the paradigm--Dont do this! Map<String, Long> freq new HashMap<>(); try (Stream<String> words new Scanner(file).tokens()) …

Java創建對象的幾種方式

在Java中&#xff0c;對象是程序中的一種基本元素&#xff0c;它通過類定義和創建。本篇教程旨在介紹Java中創建對象的幾種方式&#xff0c;包括使用new關鍵字、反射、clone、反序列化等方式。 使用new關鍵字創建對象 在Java中&#xff0c;最常用的創建對象方式是使用new關鍵…

linux學習(文件描述符)[13]

所以fork的時候函數執行完畢&#xff0c;但是數據還在緩沖區中未刷新。 所以會有父子兩份數據 在fork&#xff08;&#xff09;之前ffush&#xff08;&#xff09;&#xff08;c語言的接口&#xff0c;刷新緩沖區&#xff09;fflush(stdout)&#xff0c;就不會有重復 緩沖區的…

Trie樹(前綴樹)的實現與應用

Trie樹&#xff0c;也被稱為前綴樹&#xff0c;是一種用于處理字符串的數據結構。它可以高效地進行字符串的插入、刪除和搜索操作&#xff0c;并且能夠快速找到具有相同前綴的字符串。本篇博客將詳細介紹Trie樹的實現原理和應用場景&#xff0c;并給出Java代碼示例。 Trie樹的…