編譯升級至openssh7.6

来源:https://www.cnblogs.com/Feigoss/archive/2018/05/29/9104883.html
-Advertisement-
Play Games

1.概述 目的:下載源碼包(https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz),編譯升級為openssh為7.6版本。 適用:centOS-5.x/6.x。 Openssl:最好為1.0.1版本;若為1.0.2則 ...


 

1.概述

目的:下載源碼包(https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz),編譯升級為openssh為7.6版本。

適用:centOS-5.x/6.x。

Openssl最好為1.0.1版本;若為1.0.2則有可能在編譯過程中報錯。

編譯環境要求:

1.openssl、openssl-devel、pam-devel、gcc、gcc-c++、zlib、zlib-devel、zlib-static

2.或包組:Development tools、Server Platform Development           

依賴解決辦法:

1.設置雲環境內yum源。

2.插入對應版本的centOS光碟,設置本地yum源。

2.設置yum源

2.1本地yum源

1.查看/dev內cd設備名稱。

ls -l /dev | grep cd

 

2.掛載光碟至/mnt

mount /dev/cdrom /mnt

 

 

3.備份源yumrepo文件,並新建yumrepo配置文件。

cd /etc/yum.repo.d/

ls

mv CentOS-Base.repo CentOS-Base.repo.bak

vim CentOS-Base.repo

 

4.設置本地光碟為yum更新源。

[local]

name=This is local repo

baseurl=file:///mnt

enabled=1

gpgcheck=0

 

5.清空yum緩存,生成新的緩存文件,並查看yum源列表是否有上面設置的本地源。

yum clean

yum makecache

yum repolist

 

2.2http-yum源

1.編輯配置文件CentOS-Base.repo,新增http-yum源。

[base]

name=network yum repo

baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/

enabled=1

gpgcheck=0

 

2.重新生成緩存文件,查看是否有剛纔設置的http-yum源。

yum makecache

 

3.準備階段

3.1開啟telnet服務(可選)

1.安裝telnet-server服務,防止由於升級失敗造成無法遠程管理伺服器。

yum install telnet-server

 

2.開啟telnet所需的守護進程xinetd。

service xinetd start

 

3.檢查telnet服務是否開啟成功。

service xinetd status

netstat -pantu | grep xinetd

 

4.預設telnet只能普通用戶登錄,root管理員無法登錄,修改配置,允許root賬號登錄。(註:4/5步二選一即可)

vim /etc/pam.d/login

/pam_securetty.so

#auth required pam_securetty.so(註釋此行)

:wq

 

5.或者將/etc/securetty文件重命名,使其失效。

(註:4/5步二選一即可)

mv -v /etc/securetty /etc/securetty.bak

 

6.重啟telnet服務,使修改的配置生效。

service xinetd restart

 

7.測試telnet登錄。

 

3.2 解決安裝可能存在的依賴關係

1.查看ssh版本

ssh -V

 

2.檢查依賴包的安裝狀態

rpm -qa openssl

rpm -qa openssl-devel

rpm -qa pam-devel

rpm -qa gcc

rpm -qa gcc-c++

rpm -qa zlib

rpm -qa zlib-devel

rpm -qa zlib-static

 

3.安裝編譯缺失的依賴包(註:此步根據伺服器實際情況而定)

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

 

4.編譯安裝

1.上傳安裝包至伺服器。

 

2.解壓openssh的tarball。

tar xvf openssh-7.6p1.tar.gz

 

3.生成makefile。

cd openssh-7.6p1

./configure --sbindir=/usr/sbin/  --bindir=/usr/bin/ --sysconfdir=/etc/ssh --with-ssl-engine --with-pam --with-md5-passwords

編譯完成無error信息即順利完成編譯,此處pam並沒有實際使用。

 

4.編譯openssh。

make -j4

 

5.鏈接安裝openssh

make install

 

註:連接的過程中出現此信息,代表openssh7.6不支持GSSAPT這兩條配置。

 

6.重啟ssh服務。

service sshd restart

 

7.安裝完畢,測試root賬號登錄。伺服器拒絕。

 

8.創建普通用戶,稍後測試普通用戶登錄情況。

Useradd xxxxx

psswd xxxxx

 

9.測試普通用戶登錄情況。結果為可以正常登陸。

 

10.修改配置文件/etc/ssh/sshd_config.解決root無法登錄的情況。

Vim /etc/ssh/sshd_config

/PermitRootlogin

PermitRootlogin yes(取消此行註釋)

 

11.重啟ssh服務。

service sshd restart

service sshd status

netstat -pantu |grep :22

 

12.測試root用戶登錄。測試結果為可以正常登陸。並且openssh已經升級為7.6p1版本

並且init345開機等級自動開啟此服務。

ssh -V

chkconfig –list |grep sshd

 

13.另外由於新版openssh不支持GSSAPI參數,所有需要註釋此行,已免有未知影響。

Vim /etc/ssh/sshd_config

#GSSAPIAuthentication yes(註釋以下兩行)

#GSSAPICleanupCredentials yes

修改前開啟服務會有報錯信息。

 

修改後重啟服務報錯信息消失。

 

5.收尾階段

1.關閉telnet-server服務進程。

service xinetd stop

service xinetd status

 

2.關閉telnet-server服務345級別開機自啟動服務。

chkconfig --list |grep xinetd

chkconfig --level 345 xinetd off

chkconfig --list |grep xinetd

 

 


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

-Advertisement-
Play Games
更多相關文章
  • 1.6 html鏈接 html鏈接 <a>標簽可以在網頁上定義一個鏈接地址,通過src屬性定義跳轉的地址,通過title屬性定義滑鼠懸停時彈出的提示文字框。 定義頁面內滾動跳轉 頁面內定義了“id”或者“name”的元素,可以通過a標簽鏈接到它的頁面滾動位置,前提是頁面要足夠高,有滾動條,且元素不能 ...
  • eFUSE是i.MXRT里一塊特殊的存儲區域,用於存放全部晶元配置信息,其中有一部分配置信息和Boot相關。這塊特殊存儲區域並不在ARM的4G system address空間里,需要用特殊的方式去訪問(讀/寫),如何訪問eFUSE是本篇文章的重點。 ...
  • 阿裡雲配置HTTPS 2018-05-29 16:00:56 by SemiconductorKING 最近申請功能變數名稱配置了一下HTTPS協議,記錄一下配置過程。 準備 備案過的功能變數名稱,一個SSL證書(免費的就行)。 申請證書 如果一切正常,10 分鐘左右,申請的證書就會審核通過。 下載證書 1.去你的 ...
  • 文件及文件夾的基礎操作: 1: 新建 (1)在當前目錄新建一個文件夾 dir foldername (2) 新建文件: 當前目錄 vi newFile.text 在home下新建一個test.sh腳本 vi /home/test.sh 3: 刪除 通常情況下,刪除文件用:rm 文件名。刪除文件夾用: ...
  • 在多線程環境中,有些事僅需要執行一次。通常當初始化應用程式時,可以比較容易地將其放在main函數中。但當你寫一個庫時,就不能在main裡面初始化了,你可以用靜態初始化,但使用一次初始化(pthread_once)會比較容易些。 ...
  • 實驗環境:兩台Centos7.2的虛擬機,一臺作CA伺服器,一臺作Apache伺服器,此處安裝httpd-2.4.6的版本. 1)CA伺服器 2)Apache伺服器 Centos7.2已經預設安裝好httpd-2.4.6和openssl,如果沒有安裝可以配置好yum源進行安裝。 3)CA伺服器 4) ...
  • OS準備 關閉selinux vi /etc/selinux/config setenforce 0 開啟防火牆80埠訪問 firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 port port=80 protocol=tcp ac ...
  • 為了像本地一樣訪問遠程主機上的目錄,通常我們會在遠程主機上使用nfs來導出目錄,併在本地主機上mount這個nfs文件系統。如果是windows系統,則使用cifs或samba的方式來訪問。 但可能我們忽略了一個遠程連接最通用的工具:ssh。其實很多和遠程有關的行為,基於ssh都能完成,即使是實現像 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...