概述

因前段时间项目要上线,做了入网安评,第三方测试要求做openssh升级,这里简单把升级的过程总结如下:

openssh升级(超详细的openssh升级教程)(1)

一、临时开启telnet服务,检查telnet包,没有则安装

1、检查telnet包

#rpm –qa|grep telnet telnet-0.17-38.el5 telnet-server-0.17-38.el5

2、修改telnet服务配置文件

vi /etc/xinetd.d/krb5-telnet 修改行 disable = no

3、关闭防火墙或者放通23端口

# service iptables stop

4、配置Telnel允许root登录,在控制台/etc/securetty文件中设定

# vim /etc/securetty console vc/1 vc/2 vc/3 tty1 tty2 tty3 tty4 tty5 ... pts/0 pts/1 pts/2 pts/3 pts/4

在文件后面追加"pts/0....pts/n",需要从pts/0开始添加,假如需要登陆的人很多,后面的n就要比较大,否则超过了也将无法登陆。

5、重启telnet服务

[root@localhost ~]# service xinetd restart Reloading configuration: [ OK ]

服务启动完成后,用CRT工具telnet协议进行连接测试

二、上传软件包

软件包下载链接:到官网下载对应的版本即可。

openssl-1.0.2k.tar.gz openssh-7.5p1.tar.gz zlib-1.2.11.tar.gz

三、升级openssh

1、停止SSHD服务

# /sbin/service sshd stop

2、备份启动脚本

# cp /etc/init.d/sshd /root/

3、卸载系统里原有Openssh

# rpm –qa|grep openssh //查询系统原安装的openssh包,全部卸载。 # rpm -e openssh --nodeps # rpm -e openssh-server --nodeps # rpm -e openssh-clients --nodeps # rpm -e openssh-askpass

4、解压安装zlib包:

# tar -zxvf zlib-1.2.5.tar.gz

首先安装zlib库,否则会报zlib.c错误无法进行

# cd zlib-1.2.5 # ./configure # make && make install

5、解压安装openssl包:

# tar -zxvf openssl-1.0.1.tar.gz # cd openssl-1.0.1 # ./config shared zlib # make && make install # mv /usr/bin/openssl /usr/bin/openssl.bak # mv /usr/include/openssl /usr/include/openssl.bak

该步骤可能提示无文件,忽略即可

# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl # ln -s /usr/local/ssl/include/openssl /usr/include/openssl

移走原先系统自带的openssl,将自己编译产生的新文件进行链接。

6、配置库文件搜索路径

# echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf # /sbin/ldconfig -v # openssl version -a [root@localhost openssl-1.0.2k]# openssl version -a OpenSSL 1.0.2k 26 Jan 2017 built on: reproducible build, date unspecified platform: linux-x86_64 options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM OPENSSLDIR: "/usr/local/ssl"

7、解压安装openssh包:

先将将/etc/ssh的文件夹备份:

# mv /etc/ssh /etc/ssh_bak # tar -zxvf openssh-6.6p1.tar.gz #./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man # make && make install

8、启动服务

# cp -p contrib/redhat/sshd.init /etc/init.d/sshd # chmod x /etc/init.d/sshd # chkconfig --add sshd # cp sshd_config /etc/ssh/sshd_config (如提示覆盖,yes回车) # cp sshd /usr/sbin/sshd (如提示覆盖,yes回车)

9、验证是否成功

service sshd restart(重启sshd服务时注意root无法远程登录,需修改/etc/ssh/sshd_config配置文件) ssh -V //如果看到了新的版本号就没问题啦!


这里的openssh升级是基于redhat6系统的,大家做的时候一定要慎重,一定要先在自己虚拟机上测试通过没问题后,再去生产环境做升级,要不可能系统就崩溃了,不要问我为什么知道的。

后面会分享更多关于linux运维方面的内容,感兴趣的朋友可以关注下!!

openssh升级(超详细的openssh升级教程)(2)

,