OpenSSH平滑升級——解決OpenSSH漏洞

來源:互聯網
上載者:User

OpenSSH平滑升級——解決OpenSSH漏洞
一、環境描述 1)作業系統:CentOS 6.5 64位 2)Openssl升級前版本:openssl 0.9.8e 3)Openssl升級後版本:openssl 1.0.1j(源碼安裝) 4)Openssh升級前版本:openssh-4.3p2-41.el5 5)Openssh升級後版本:openssh_6.7p1(源碼安裝) 6)串連工具SecureCrt 二、安裝Dropbear代替OpenSSH 安裝dropbear只是為了在升級失敗sshd啟動不起來時,依然可以登入系統。也可以用其他工具代替,比如telnet 1)下載dropbear安裝包 https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2 2)檢查安裝依賴包 rpm -qa zlib* gcc make 3)編譯安裝dropbear # tar jxf dropbear-2014.66.tar.bz2 # cd dropbear-2014.66 # ./configure # make && make install檢查產生的檔案是否正確:4)產生認證 # /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key  (註:系統預設是沒有/etc/dropbear 目錄的需要自行到建立) # /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key5)啟動dropbear # /usr/local/sbin/dropbear -p 2222    //監聽2222連接埠 查看是否啟動成功:三、升級OpenSSL到openssl-1.0.1j,並刪除老版本 1)升級前準備 下載openssl-1.0.1j http://www.openssl.org/source/openssl-1.0.1j.tar.gz 2)刪除舊版本#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps 3)安裝openssl, 一定記得加上--shared選項, 否則openssh編譯的時候會找不到新安裝的openssl的library, 會報錯: openssl的 header和library版本不匹配 (註:這裡LZ糾結了很久,如果按照步驟執行./config --prefix=/usr --shared 依然報錯: openssl的 header和library版本不匹配,很可能是由於之前安裝的Openssl也是源碼安裝的,而且沒有刪除乾淨,需要手工搜尋ssl相關的檔案 1.執行find / -name ssl  2.將搜尋結果中/usr/lib  /usr/lib64  /lib64  /lib等目錄下的結果逐一重新命名,千萬不要亂刪除,逐一嘗試。這是個笨辦法,目前還沒有發現啥比較好的辦法。) # ./config --prefix=/usr --shared  # make    # make test # make install 完畢後查看openssl版本安裝是否正確 # openssl version -a四、升級sshd到OpenSSH-6.7並刪除老版本ssh 1)升級前準備 查看是否缺包 # rpm -qa | egrep "gcc|make|perl|pam|pam-devel" 如果有配置yum了的話可以直接yum安裝這些包,這樣既可以檢驗是否裝了,沒裝的直接裝上。 yum -y install gcc* make perl pam pam-devel2)下載openssh-6.7p1.tar.gz http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.7p1.tar.gz 備份ssh : # mv /etc/ssh /etc/ssh.bak # openssl version -a3)編譯安裝新版本openssh # tar zxf openssh-6.7p1.tar.gz && cd openssh-6.7p1  # ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords    # make 先卸載完舊版本的openssh,再make install # rpm -qa | grep openssh  # rpm -e `rpm -qa | grep openssh`Openssh-askpass是用於圖形介面下輸入口令的,用不著可以不裝 # make install 4)查看是否升級到新版本5)複製啟動指令碼到/etc/init.d # cp /root/openssh-6.7p1/contrib/RedHat/sshd.init /etc/init.d/sshd 加入開機自啟 # chkconfig --add sshd6)啟動sshd,用start或reload。不要restart,restart 會直接中斷連線,而並不會接著啟動sshd服務,這時候要通過其他途徑進入機器,然後啟動sshd服務才行。四、刪除dropbear。 終端軟體裡再重新開啟一個標籤, 在這裡Dropbear用來防止升級不成功,用來替代openssh串連伺服器。 在開啟2222連接埠(dropbear啟動時的連接埠,可以設定別的 )的情況下,通過xshell串連的方法是: ssh 192.168.0.1 2222 (192.168.0.1為需要已連線的服務器ip)刪除dropbear安裝的檔案,並殺掉進程 # rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.