腳本升級openssh

来源:http://www.cnblogs.com/elisun/archive/2016/05/24/5523696.html
-Advertisement-
Play Games

一、問題描述(預設Linux安裝的SSHD服務存在一些漏洞,特此升級) 在曾經手動升級sshd服務後發現了三個後遺症: selinux開啟的狀態下,重啟機器sshd不啟動(原因:庫文件“libcrypto.so.1.0.0”的selinux標記不正確,導致sshd無法調用訪問該文件,使用setrou ...


一、問題描述(預設Linux安裝的SSHD服務存在一些漏洞,特此升級)

在曾經手動升級sshd服務後發現了三個後遺症:

  1. selinux開啟的狀態下,重啟機器sshd不啟動(原因:庫文件“libcrypto.so.1.0.0”的selinux標記不正確,導致sshd無法調用訪問該文件,使用setroubleshoot工具找到原因)

  2. hosts.allow,hosts.deny對sshd不起作用(原因:編譯時未加上--with-tcp-wrappers)

  3. sftp無法使用(原因:源碼安裝後配置文件未找到sftp-server工具)

  4.  為了方便以後安裝,再加上修補以上遺留問題,特寫成腳本。(腳本測試在CentOS6.5、RHEL6.4、CentOS5.10測試通過)

註意事項:為了降低風險,運行腳本之前,需以telnet登陸系統取得root許可權(telnet預設不允許root登陸,可以設置允許root或者以普通用戶切換)

二、安裝

1.  工具包:openssh-6.6p1.tar.gz     openssl-1.0.1g.tar.gz

openssh:  http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/     

openssl:   ftp://ftp.openssl.org/source/old/1.0.1/

 

2. 安裝時將腳本和兩個包放在相同路徑下,解決依賴請配置好YUM倉庫 

3. 腳本:updatesshd.sh

#!/bin/bash
#-------------------------------------|
#"WARING"!!! Please use telnet-server.|
#"WARING"!!! Please use telnet-server.|
#"WARING"!!! Please use telnet-server.|
#-------------------------------------|
ssh_update()
{
#Backup the old files
SSL_VER=openssl-1.0.1g
SSH_VER=openssh-6.6p1
CUR_DIR=$(pwd)
SSH_DIR=/usr/local/openssh
cd  /etc/ssh/
mkdir old
mv ssh* moduli  old
mv /etc/init.d/sshd    /etc/init.d/sshd.old
 
#Update ssl
yum -y install gcc gcc-c++ zlib-devel pam-devel tcp_wrappers*
cd $CUR_DIR
tar zxf    $SSL_VER.tar.gz
cd $SSL_VER
./config shared zlib
make && make install
mv  /usr/bin/openssl    /usr/bin/openssl.old
mv  /usr/include/openssl    /usr/include/openssl.old
ln -s  /usr/local/ssl/bin/openssl    /usr/bin/openssl
ln  -s   /usr/local/ssl/include/openssl/   /usr/include/openssl
echo  "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig
/sbin/restorecon -v /usr/local/ssl/lib/libcrypto.so.1.0.0
cd ..
 
#Update sshd
rpm -e `rpm -qa | grep openssh` --nodeps
tar zvxf $SSH_VER.tar.gz
cd $SSH_VER/
./configure --prefix=$SSH_DIR --sysconfdir=/etc/ssh  --with-pam  --with-tcp-wrappers \
--with-ssl-dir=/usr/local/ssl --with-md5-passwords --with-zlib=zlib
make && make install
cp contrib/redhat/sshd.init   /etc/init.d/sshd
chmod  u+x   /etc/init.d/sshd
chkconfig --add   sshd
chkconfig sshd on
cp -rf sshd_config  /etc/ssh/sshd_config
cd  $SSH_DIR
cp -rf  sbin/sshd  /usr/sbin/sshd
cp -rf  bin/*  /usr/bin/
sed  -i 's#/usr/libexec/sftp-server#/usr/local/openssh/libexec/sftp-server#'  /etc/ssh/sshd_config
service sshd  restart
}
 
read -p "Are you using telnet[YES/NO]?" ANSWER
case $ANSWER in
YES)
   echo "Fine,continue!!!"
   ssh_update 2>&1 | tee -a /tmp/update.log ;;
NO)
   echo "It is dangerous,bye!!!";;
*)
   echo "Error choice";;
esac

  

4. 結果驗證:

[root@localhost src]# ssh  -V

SSH, OpenSSL 1.0.1g 7 Apr 2014


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

-Advertisement-
Play Games
更多相關文章
  • 相信做Web開發的同學們,經常會遇到需要將本地部署的Web應用能夠讓公網環境直接訪問到的情況,例如微信應用調試、支付寶介面調試等。這個時候,一個叫ngrok的神器可能會幫到你,它提供了一個能夠在公網安全訪問內網Web主機的工具,能捕獲所有HTTP請求的內容,也支持TCP埠映射,支持Linux、Wi ...
  • 9.虛擬存儲器 為了更加有效地管理 存儲器 且少出錯,現代系統提供了對 主存 的抽象概念,叫做 。 是硬體異常,硬體地址翻譯,主存,磁碟文件和內核軟體的完美交互。 為每個進程提供一個 大的 , 一致的 和 私有的 地址空間。 提供了3個重要能力。 將主存看成磁碟地址空間的 高速緩存 。 只保留了活動 ...
  • 1. deepin終端: sudo apt-get install virtualbox 2. 下載win7 iso文件 3. deepin終端啟動virtualbox : ./virtualbox 4. 選擇win7 iso文件 5. 進入win7安裝: 快速格式化4個分區 ,開始安裝 6. li ...
  • 前言 STM32F1系列晶元算是在STM32中最早的一系列,在實際生活中應用的比較廣泛。因此,彙總一下STM32F1系列晶元常見片內資源,每一篇文章把重點提出來講解,並提供軟體源代碼工程。 彙總常見資源:基本IO、定時器TIM、串口USART、ADC模數轉換、DAC數模轉換、SPI串列通信、EXIT ...
  • 1.利用命令模式 捕獲整個屏幕 : $ gnome-screenshot 截完屏之後我們可以設置自定義圖片存儲位置,如圖: 捕獲當前終端Terminal : $ gnome-screenshot -w 捕獲自定義區域 :$ gnome-screenshot -a 利用-B參數可以去除終端視窗的名稱狀 ...
  • 原文:http://blog.jobbole.com/101322/ 前言 看源代碼是一個程式員必須經歷的事情,也是可以提升能力的一個捷徑.個人認為: 要完全掌握一個軟體的方法只有閱讀源碼。 在Windows下有sourceinsight這個源碼閱讀軟體(雖然我沒用過,但是網上評價還不錯),由於我是 ...
  • 通常我們應用nginx做代理時,用到它的輪訓服務 #設置輪詢名稱 upstream zyy{ server 127.0.0.1:8080 #本機的apache服務 } server { listen 80; server_name test.com; root /test; location / { ...
  • 1. 查看Linux啟動的服務 chkconfig --list 查詢出所有當前運行的服務 chkconfig --list atd 查詢atd服務的當前狀態 2.停止所有服務並且在下次系統啟動時不再啟動,如下所示: chkconfig --levels 12345 NetworkManager o ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...