首页 » 操作系统 » Linux » Centos/Redhat升级Openssh7.1p1记录

Centos/Redhat升级Openssh7.1p1记录

 

 Centos/Redhat升级Openssh7.1p1记录

 

一、升级环境准备
1、如果是Redhat系统建议将yum源改为Centos的。安装方法详见http://blog.72ch.com/?p=151
2、开启telnet-server 功能
为防止openssl和ssh升级失败,建议在升级前打开主机的telent-server功能,确保升级失败时可以远程telnet连接。
 安装telnet-server:

 yum install telnet-server xinetd

修改允许telnet(如果之前配置过安全加固)

vi /etc/hosts.allow  #添加如下行:
in.telnetd:10.242.17.*

打开telnet-server 服务,防止ssh升级失败
修改配置文件/etc/xinetd.d/telnet中disable字段改为no。

1451365270360830.jpg

启动服务
# service xinetd restart

二、升级Openssl1.0.1p
1、下载openssl-1.0.1p.tar.gz
http://pan.baidu.com/s/1o7r5J9C  #百度云分享
http://www.openssl.org/source/old/1.0.1/openssl-1.0.1p.tar.gz   #官网下载
2、删除旧版本openssl

rpm -e `rpm -qa | grep openssl` --allmatches --nodeps

3、安装openssl,
一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配

#tar zxvf openssl-1.0.1p.tar.gz
#cd openssl-1.0.1p# ./config --prefix=/usr --shared
# make
# make test
# make install
#wget #如执行wget报如下错误,找到/usr/lib64/下面的libssl.so.1.0.0包,做软连接解决
wget: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
#ll /usr/lib64/libssl*
-rwxr-xr-x 1 root root 223032 Jan 14  2012 /usr/lib64/libssl3.so
-rw-r--r-- 1 root root 748198 Dec 28 17:24 /usr/lib64/libssl.a
-rwxr-xr-x 1 root root  49024 Dec 12  2007 /usr/lib64/libssldap60.so
lrwxrwxrwx 1 root root     15 Dec 28 17:24 /usr/lib64/libssl.so -> libssl.so.1.0.0
-r-xr-xr-x 1 root root 473762 Dec 28 17:24 /usr/lib64/libssl.so.1.0.0
#ln -sf /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.6
#ln -sf /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.6

4、下载openssh7.1
 http://pan.baidu.com/s/1mgVVjIg #百度云分享
 http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/openssh-7.1p1.tar.gz
查看openssl版本
# openssl version -a
OpenSSL 1.0.1p 9 Jul 2015
built on: Mon Dec 28 17:20:32 2015
platform: linux-x86_64
options:  bn(64,64) rc4(8x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -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 -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/ssl"

5、备份ssh :
# mv /etc/ssh /etc/ssh.bak

编译安装新版本openssh
# tar zxf openssh-7.1p1.tar.gz && cd openssh-7.1p1 
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
# make
先卸载完旧版本的openssh,再make install
# rpm -qa | grep openssh

rpm -e openssh-server-6.1p1-5.el5.1
#make install
进入ssh安装解压目录

# cp ./contrib/redhat/sshd.init /etc/init.d/sshd
#chmod +x /etc/init.d/sshd
#chkconfig --add sshd

最后,启动 SSH 服务使修改生效,检查命令:

#chkconfig --list sshd
sshd            0:off 1:off 2:on 3:on 4:on 5:on 6:off

openssh7.1p1,默认禁止root登录,如需root登录,修改/etc/ssh/sshd_config 文件

vim /etc/ssh/sshd_config  #找到
#PermitRootLogin prohibit-password 改为
PermitRootLogin Yes

保存退出。
重启sshd,在重启前,再登录一个会话,防止重启失败

# nohup service sshd restart &            #建议一定用nohup后台执行
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

重新登录主机,并检查openssh版本
如果是从一台Linux主机跳转过去的,会出现如下提示
# ssh 10.103.70.7
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
27:85:57:34:ce:b0:e0:2d:6d:33:44:c8:15:ae:7f:bd.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:1
RSA host key for 10.103.70.7 has changed and you have requested strict checking.
Host key verification failed

进入到跳转的主机,删除.ssh/known_hosts内的信息,或是直接rm known_hosts文件即可。

检查openssh版本:

# ssh -V
OpenSSH_7.1p1, OpenSSL 1.0.1p 9 Jul 2015

升级安装成功!

6、最后记得关闭telnet服务功能

修改配置文件/etc/xinetd.d/telnet中disable字段改为yes。

# vim /etc/xinetd.d/telnet中disables 改为yes

1451454631862376.jpg

重启动服务

# service xinetd restart

原文链接:Centos/Redhat升级Openssh7.1p1记录,转载请注明来源!

0