1. 程式人生 > >升級openssh

升級openssh

升級openssh 升級openssh7.6p1

由於升級OpenSSH涉及到安全性問題,為保險起見,在升級前最好安裝telnet服務作為備用方案,然後在升級成功後再停止telnet即可。


一、OpenSSH升級相關源碼包下載地址

zlib http://www.zlib.net/zlib-1.2.11.tar.gz
zlib其他版本下載地址 http://www.zlib.net/fossils/
openssl-fips http://www.openssl.org/source/openssl-fips-2.0.16.tar.gz
OpenSSL http://www.openssl.org/source/openssl-1.0.2m.tar.gz
OpenSSH https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz

安裝依賴包

yum -y install gcc pam-devel zlib-devel openssl-devel


註:官網說明openssh7.6p1依賴的openssl的版本為>1.0.1e 並且 < 1.1.0


二、編譯相關源碼包

yum install -y zlib(若系統已安裝可不用執行此步驟),這裏我是采用的編譯安裝zlib


1、安裝zlib

解壓

tar-xvf zlib-1.2.11.tar.gz                
cdzlib-1.2.11
./configure
make            
makeinstall

查看

ll/usr/local/lib


2、安裝openssl-fips

此為FIPS140-2 support module for openssl, 具體說明參見http://www.openssl.org/docs/fips

[root@baby openssl-fips-2.0.16]# tar zxpf openssl-fips-2.0.16.tar.gz
# cd openssl-fips-2.0.16
# ./config
# make && make install

生成路徑在:

/usr/local/ssl/fips-2.0/


3、安裝openssl

# tar -xf openssl-1.0.2m.tar.gz
# cd openssl-1.0.2m
[root@localhost openssl-1.0.2m]# ./config --prefix=/usr--openssldir=/usr/ shared zlib
需帶上–shared參數 否則會出現頭文件和庫文件不匹配

#make

由於我使安裝在原路徑下,所以我將舊的配置文件挪了一下位置

mv /usr/bin/openssl  /usr/bin/openssl.oldbak
mv /usr/include/openssl  /usr/include/openssl.oldbak
 [root@baby openssl-1.1.0g]#make install

查看是否升級成功

# openssl version -a | openssl version

至此已全部完成OpenSSL的升級工作


4、安裝openssh

wget https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz
[root@localhost~]# cd openssh-7.6p1
[[email protected]]# ./configure --prefix=/usr --sysconfdir=/etc/ssh
完成後執行make:
[root@bogon openssh-7.6p1]# make

make完成後先不要make install,備份舊的ssh並易名

[[email protected]]# mv /etc/ssh/ /etc/sshbak

或用下面,推薦用上面備份

make完成後先不要make install,先卸載舊版的openssh

[root@bogon openssh-7.6p1]# rpm -e --nodeps `rpm -qa | grep openssh`

完成後執行make install:

[root@bogon openssh-7.6p1]# make install

查看下安裝結果:

[root@bogon openssh-7.6p1]# ssh -V


至此編譯全部安裝完成



三、ssh相關配置

1、配置sshd服務:

復制啟動文件到/etc/init.d/下並命名為sshd(原先存在舊啟動腳本備份易名):

[root@bogon openssh-7.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd

加入開機啟動:

[root@bogon openssh-7.6p1]# chkconfig --add sshd

2、配置允許root使用ssh:

openssh7.6後默認root用戶是不能用ssh遠程登錄的(但普通用戶是可以ssh遠程登錄的),需要修改配置文件:

[root@bogon openssh-7.6p1]# vim /etc/ssh/sshd_config
找到#PermitRootLoginprohibit-password項,去掉註釋並把prohibit-password改為yes
PermitRootLogin yes
配置允許root用戶遠程登錄


這一操作很重要!很重要!很重要!重要的事情說三遍,因為openssh安裝好默認是不執行sshd_config文件的,所以即使在sshd_config中配置允許root用戶遠程登錄,但是不加上這句命令,還是不會生效!

vim /etc/init.d/sshd
在 ‘$SSHD $OPTIONS &&success || failure’這一行上面加上一行‘OPTIONS="-f /etc/ssh
/sshd_config"’

技術分享

保存退出


重啟ssh服務:

[root@bogon openssh-7.6p1]# service sshd restart

至此升級/安裝完成。

AllowUsers tom


本文出自 “運維筆錄 美玲” 博客,請務必保留此出處http://meiling.blog.51cto.com/6220221/1980733

升級openssh