Linux 升级 openssh 到 openssh7.8p1

时间:2021-01-16 00:29:40

1、环境:

操作系统: CentOs 6.7

Openssl 版本:openssl-1.0.2h  官网下载地址:http://www.openssl.org/

Openssh 版本:openssh-7.8p1  官网下载地址:http://www.openssh.org/

2、准备工作:

1.1、安装依赖包

yum -y install gcc pam-devel zlib-devel

1.2、查看系统软件当前版本

#openssl version

#ssh -V

1.3、安装 telnet 服务

本人安装未卸载现有的Openssh 版本,为了后续保障先安装 telnet 服务

1)安装telnet 服务

#yum -y install telnet-server*

2)启用 telnet 服务

关闭防火墙:service iptables stop

vi /etc/xinetd.d/telnet

将其中disable字段的yes改为no以启用telnet服务

mv /etc/securetty /etc/securetty.old  //允许root用户通过telnet登录

service xinetd start                   //启动telnet服务

chkconfig xinetd on //使telnet服务开机启动,避免升级过程中服务器意外重 启后无法远程登录系统

telnet [ip]                           //新开启一个远程终端以telnet登录验证是否成功启用

3、升级软件

2.1、升级 Openssl

1)备份当前openssl(无需卸载)

mv /usr/bin/openssl /usr/bin/openssl.old

mv /usr/include/openssl /usr/include/openssl.old

3)解压源码包并安装

tar xf openssl-1.0.2h.tar.gz

cd openssl-1.0.2h/

./config --shared zlib  //必须加上--shared,否则编译时会找不到新安装的openssl的库而报错, 默认 安装目录为 /usr/local/ssl/

make

make test     //必须执行这一步结果为pass才能继续,否则即使安装完成,ssh也无法使用

make install

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

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

echo "/usr/local/ssl/lib" > /etc/ld.so.conf.d/openssl.conf

ldconfig

openssl version -a   //查看是否升级成功

2.2、升级 Openssh

1)备份当前openssh (无需卸载当前版本)

mv /etc/init.d/sshd /etc/init.d/sshd.old

mv /etc/ssh /etc/ssh.old

mv /usr/sbin/sshd /usr/sbin/sshd.old

mv /usr/bin/ssh /usr/bin/ssh.old

2)解压并安装

tar xf openssh-7.8p1.tar.gz

cd openssh-7.8p1/

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man --with-zlib

make && make install

3)恢复文件

cp 你的openssh的解压目录/contrib/redhat/sshd.init /etc/init.d/sshd

chmod +x /etc/init.d/sshd

cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

cp /usr/local/openssh/bin/ssh /usr/bin/

4)重启 sshd

/etc/init.d/sshd restart   service sshd start

-----------------到此安装完成------------------------