天天看点

升级openssh

由于升级OpenSSH涉及到安全性问题,为保险起见,在升级前最好安装telnet服务作为备用方案,然后在升级成功后再停止telnet即可。

一、OpenSSH升级相关源码包下载地址

<code>zlib http://www.zlib.net/zlib-1.2.11.tar.gz</code>

<code>zlib其他版本下载地址 http://www.zlib.net/fossils/</code>

<code>openssl-fips http://www.openssl.org/source/openssl-fips-2.0.16.tar.gz</code>

<code>OpenSSL http://www.openssl.org/source/openssl-1.0.2m.tar.gz</code>

<code>OpenSSH https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz</code>

安装依赖包

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

注:官网说明openssh7.6p1依赖的openssl的版本为&gt;1.0.1e 并且 &lt; 1.1.0

二、编译相关源码包

yum install -y zlib(若系统已安装可不用执行此步骤),这里我是采用的编译安装zlib

1、安装zlib

解压

<code>tar</code><code>-xvf zlib-1.2.11.</code><code>tar</code><code>.gz                </code>

<code>cdzlib-1.2.11</code>

<code>.</code><code>/configure</code>

<code>make</code>            

<code>makeinstall</code>

查看

ll/usr/local/lib

2、安装openssl-fips

此为FIPS140-2 support module for openssl, 具体说明参见http://www.openssl.org/docs/fips

<code>[root@baby openssl-fips-2.0.16]</code><code># tar zxpf openssl-fips-2.0.16.tar.gz</code>

<code># cd openssl-fips-2.0.16</code>

<code># ./config</code>

<code># make &amp;&amp; make install</code>

生成路径在:

/usr/local/ssl/fips-2.0/

3、安装openssl

这里安装openssl需要注意编译安装的方法,是否结合fips模块,有如下两种方法:

3.1、升级openssl为1.0.2m,未结合fips模块编译

<code># tar -xf openssl-1.0.2m.tar.gz</code>

<code># cd openssl-1.0.2m</code>

<code>[root@localhost openssl-1.0.2m]</code><code># ./config --prefix=/usr --openssldir=/usr/ shared zlib</code>

<code>需带上–shared参数 否则会出现头文件和库文件不匹配</code>

<code>#make</code>

由于我使安装在原路径下,所以我将旧的配置文件挪了一下位置

<code>mv</code> <code>/usr/bin/openssl</code>  <code>/usr/bin/openssl</code><code>.oldbak</code>

<code>mv</code> <code>/usr/include/openssl</code>  <code>/usr/include/openssl</code><code>.oldbak</code>

<code> </code><code>[root@baby openssl-1.0.2m]</code><code>#make install</code>

查看是否升级成功

<code># openssl version -a | openssl version</code>

<a href="https://s3.51cto.com/oss/201711/16/1ce2fc73dbfe3ed1517621649dc45248.jpg-wh_500x0-wm_3-wmp_4-s_1545717580.jpg" target="_blank"></a>

<a href="https://s1.51cto.com/oss/201711/16/3a47f0d43125614ee82e040f24ecf831.jpg-wh_500x0-wm_3-wmp_4-s_3096174624.jpg" target="_blank"></a>

3.2、升级openssl为1.0.2m-fips,结合fips进行编译,编译参数如下:

<code>[root@localhost openssl-1.0.2m]# ./config fips --prefix=/usr --openssldir=/usr/ shared zlib</code>

<code>将旧的配置文件挪了一下位置:</code>

<code>mv /usr/bin/openssl  /usr/bin/openssl.oldbak</code>

<code>mv /usr/include/openssl  /usr/include/openssl.oldbak</code>

<code>[root@baby openssl-1.0.2m]#make install</code>

<a href="https://s5.51cto.com/oss/201711/16/09e79180cc5a06028967954ae4916320.jpg-wh_500x0-wm_3-wmp_4-s_1459861968.jpg" target="_blank"></a>

<a href="https://s5.51cto.com/oss/201711/16/0e7d2cdc71609bc0741c69e01b2146df.jpg-wh_500x0-wm_3-wmp_4-s_720663596.jpg" target="_blank"></a>

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

4、安装openssh

<code>wget https:</code><code>//fastly</code><code>.cdn.openbsd.org</code><code>/pub/OpenBSD/OpenSSH/portable/openssh-7</code><code>.6p1.</code><code>tar</code><code>.gz</code>

<code>[root@localhost~]</code><code># cd openssh-7.6p1</code>

<code>[[email protected]]</code><code># ./configure --prefix=/usr --sysconfdir=/etc/ssh</code>

<code>完成后执行</code><code>make</code><code>:</code>

<code>[root@bogon openssh-7.6p1]</code><code># make</code>

make完成后先不要make install,备份旧的ssh并易名

<code>[[email protected]]</code><code># mv /etc/ssh/ /etc/sshbak</code>

或用下面,推荐用上面备份

make完成后先不要make install,先卸载旧版的openssh

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

完成后执行make install:

<code>[root@bogon openssh-7.6p1]</code><code># make install</code>

查看下安装结果:

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

至此编译全部安装完成

三、ssh相关配置

1、配置sshd服务:

复制启动文件到/etc/init.d/下并命名为sshd(原先存在旧启动脚本备份易名):

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

加入开机启动:

<code>[root@bogon openssh-7.6p1]</code><code># chkconfig --add sshd</code>

2、配置允许root使用ssh:

openssh7.6后默认root用户是不能用ssh远程登录的(但普通用户是可以ssh远程登录的),需要修改配置文件:

<code>[root@bogon openssh-7.6p1]# vim /etc/ssh/sshd_config</code>

<code>找到#PermitRootLoginprohibit-password项,去掉注释并把prohibit-password改为yes</code>

<code>PermitRootLogin yes</code>

<code>配置允许root用户远程登录</code>

这一操作很重要!很重要!很重要!重要的事情说三遍,因为openssh安装好默认是不执行sshd_config文件的,所以即使在sshd_config中配置允许root用户远程登录,但是不加上这句命令,还是不会生效!

<code>vim </code><code>/etc/init</code><code>.d</code><code>/sshd</code>

<code>在 ‘$SSHD $OPTIONS &amp;&amp;success || failure’这一行上面加上一行如下:</code>

<code>{OPTIONS=</code><code>"-f /etc/ssh/sshd_config"</code><code>}</code>

<a href="https://s2.51cto.com/oss/201711/10/948b46bd648390bb8945bd1127079cf4.jpg-wh_500x0-wm_3-wmp_4-s_2213813838.jpg" target="_blank"></a>

保存退出

重启ssh服务:

<code>[root@bogon openssh-7.6p1]</code><code># service sshd restart</code>

至此升级/安装完成。

AllowUsers tom

      本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1980733,如需转载请自行联系原作者

继续阅读