O、升级环境说明:

系统版本:Red Hat Enterprise Linux Server release 6.4 (Santiago) 64位

旧ssh版本:OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

升级到ssh版本:OpenSSH_7.6p1, OpenSSL 1.0.2m  2 Nov 2017


一、备份相关文件

主要备份需要卸载的openssl及openssh相关的rpm包安装的文件,以及系统lib包,以防后续有用。

1)备份要卸载的openssl和openssh相关rpm 包

# rpm -qa |egrep openss[hl]

openssh-clients-5.3p1-84.1.el6.x86_64

openssh-5.3p1-84.1.el6.x86_64

openssh-server-5.3p1-84.1.el6.x86_64

openssl-devel-1.0.0-27.el6.x86_64

# rpm -ql `rpm -qa |egrep openss[hl]` >file.txt

openssl-1.0.0-27.el6.x86_64 # cat file.txt |wc -l

1411

# tar czvf openbak.tgz -T file.txt


2)备份系统lib包

# tar czvf libbak.tgz /lib /lib64


二、拷贝安装包

1)将dropbear-2014.66.tar.bz2、openssh-7.6p1.tar.gz 、openssl-1.0.2m.tar.gz拷贝到目标主机

2)如果没有关闭SELINUX,则执行setenforce 0临时关闭SELINUX。

(最后要在配置文件中关闭selinux,不然在重启服务器后,使用ssh登录,一直提示输入密码。重启ssh后才能正常登录。)


三、安装dropbear

1)检查主机zlib 版本

# rpm -qa | grep zlib

2)如zlib为1.2.3 以上则安装dropbear

# tar jxf dropbear-2014.66.tar.bz2

# cd dropbear-2014.66

# ./configure

# make && make install

3)生成证书

# mkdir /etc/dropbear

# /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key

# /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key

4)启动dropbear

# /usr/local/sbin/dropbear -p 2222    //监听2222端口

5)启动后检查一下 netstat -anpl | grep 2222

6)新开xshell 测试 2222端口是否可以联通

ssh 目标主机IP 2222


三、安装openssl

1)删除旧的openssl

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

tar -zxf openssl-1.0.2m.tar.gz

./config --prefix=/usr –shared

make

make test

make install

2)检查ssl版本:

[root@hadoop01 openssl-1.0.1j]# openssl version -a

 


四、安装openssh

1)卸载旧版本openssh:

rpm -e openssh-clients-5.3p1-84.1.el6.x86_64 --nodeps –allmatches

rpm -e `rpm -qa | grep openssh`

2)安装openssh

# tar -zxf openssh-7.6p1.tar.gz 

注:检查系统是否安装了pam-devel包,否则执行下面的命令时会报错,PAM Header not found.

# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords

# make

# make install

3)检查openssh 是否升级成功:

# ssh -V

OpenSSH_7.6p1, OpenSSL 1.0.2m  2 Nov 2017

4)拷贝启动脚本并设置自启动:

# cp ./contrib/redhat/sshd.init /etc/init.d/sshd

# chkconfig --add sshd

注:在7.6版本的openssh中默认sshd_config中为PermitRootLogin prohibit-password 即不允许root使用密码登录,可根据实际情况修改此配置文件。

# /etc/init.d/sshd start


5)建立so文件链接

cd /usr/lib64

ln -s libssl.so.1.0.0 libssl.so.10

ln -s libcrypto.so.1.0.0 libcrypto.so.10


五、测试登录

从其他主机测试ssh是否能登录主机

ssh 用户名@目标主机IP


六、删除dropbear

1)在xshell里再重新打开一个标签

2)杀掉dropbear进程

3)删除dropbear程序和安装包

rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*