您的位置:首页 > 运维架构 > Linux

CentOS 6下OpenSSH 5.3升级至7步骤记录

2016-12-07 15:44 666 查看
扫描出来CentOS 6自带OpenSSH存在大量高危漏洞,遂有了如下的升级步骤,再扫的时候没有漏洞了。

在CentOS 6 64位主机测试通过

升级前版本

openssl-1.0.1e-48.el6_8.1.x86_64

openssh-5.3p1-118.1.el6_8.x86_64

升级后版本

OpenSSL 1.0.2j

OpenSSH 7.3p1

第一步,先去官网下载好这两个包放在/tmp目录下。

wget 

wget https://openssl.org/source/openssl-1.0.2j.tar.gz
安装gcc

yum install gcc

为确保升级过程没有意外导致ssh会话断开,还是开个telnet服务

yum install telnet-server xinetd

sed -i '/disable/s/yes/no/g' /etc/xinetd.d/telnet

service xinetd restart

此时换telnet登陆服务器执行后续命令

#备份旧的ssh配置和用户家目录的相关ssh文件

cp -raf /etc/ssh /etc/ssh.old

cp -raf /etc/init.d/sshd /etc/init.d/sshd.old

cp -raf /root/.ssh/ /root/.ssh.old

r_list=`cat /etc/passwd | awk -F ":" '{if($3>=500) print $6}'`

for i in $r_list;do

    cp -raf $i/.ssh/ $i/.ssh.old

done

删掉旧的openssl和openssh

yum remove -y openssh

rpm -qa | grep openssl | xargs rpm -e --nodeps

安装openssl

tar zxf openssl-1.0.2j.tar.gz

cd openssl-1.0.2j

./config --prefix=/usr    \

        --openssldir=/etc/ssl \

        --libdir=lib          \

        --shared              \

        zlib-dynamic 

make depend && make

make MANDIR=/usr/share/man MANSUFFIX=ssl install &&

install -dv -m755 /usr/share/doc/openssl-1.0.2j  &&

cp -vfr doc/*    /usr/share/doc/openssl-1.0.2j

ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10

ln -s /usr/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10

ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10

ln -s /usr/lib/libssl.so.1.0.0 /usr/lib/libssl.so.10

 

openssl version

#安装完成,应当输出OpenSSL 1.0.2j  26 Sep 2016

安装openssh

cd /tmp/

tar zxf openssh-7.3p1.tar.gz

cd openssh-7.3p1

 

#隐藏版本号配置

sed -i '/SSH_VERSION/s/OpenSSH_7.3/Goodbye/g' version.h

sed -i '/SSH_PORTABLE/s/p1/./g' version.h

 

echo "/usr/include/openssl/">>/etc/ld.so.conf

ldconfig

./configure --prefix=/usr                  \

            --sysconfdir=/etc/ssh          \

            --with-md5-passwords          \

            --with-ssl-dir=/usr/local/ssl/ \

            --with-privsep-path=/var/empty/sshd

make

make install &&

install -v -m755    contrib/ssh-copy-id /usr/bin    &&

install -v -m644    contrib/ssh-copy-id.1            \

                    /usr/share/man/man1              &&

install -v -m755 -d /usr/share/doc/openssh-7.3p1    &&

install -v -m644    INSTALL LICENCE OVERVIEW README* \

                    /usr/share/doc/openssh-7.3p1

                     

cp -raf /etc/init.d/sshd.old /etc/init.d/sshd

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.new

cp -raf /etc/ssh.old/sshd_config /etc/ssh/sshd_config

sed -i 's/GSSAPI/#GSSAPI/g' /etc/ssh/sshd_config

sed -i 's/UsePAM/#UsePAM/g' /etc/ssh/sshd_config

service sshd restart

安装完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux openssh 服务