基于Ubuntu 18.04.5 LTS环境进行升级

root@testubunt:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.5 LTS
Release:	18.04
Codename:	bionic

一、安装配置telnet工具

1、安装telnet工具(以防服务器升级失败,连接不到服务器)

# apt install  telnetd xinetd -y

2、编写telnet配置文件(最小化安装默认没有,直接复制粘贴即可)

root@testubunt:~# cat /etc/xinetd.d/telnet 

service telnet
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID

}
root@testubunt:~# systemctl restart xinetd.service 
root@testubunt:~# netstat -anput | grep 23
tcp6       0      0 :::23                   :::*                    LISTEN      8684/xinetd

3、服务器测试登入telnet

# telnet IP地址  端口号

Ubuntu升级openssh8.6.1p_配置文件

二、升级前准备

1、备份数据

# 1、备份配置文件
root@testubunt:~# mv /etc/ssh{,.bak}

#2、备份命令文件
root@testubunt:~# mkdir /usr/bin/ssh.bin.bak
root@testubunt:~# cd /usr/bin/
root@testubunt:/usr/bin# mv ssh* sftp scp ssh.bin.bak/

root@testubunt:/usr/bin# cd ../sbin/
root@testubunt:/usr/sbin# mkdir ssh.sbin.bak
root@testubunt:/usr/sbin# cd ssh.sbin.bak/
root@testubunt:/usr/sbin/ssh.sbin.bak# mv ../sshd .

2、安装依赖包

# apt install libzip-dev libssl-dev autoconf gcc libxml2 make  -y

3、获取openssl、openssh源码包

cd /usr/local/src/

wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz --no-check-certificate

三、编译安装openssl

//升级openssh8.0以上版本依赖openssl1.1 所以先编译安装openssl

cd /usr/local/src/
tar zxf openssl-1.1.1.tar.gz 
cd openssl-1.1.1/
./config --prefix=/usr/local --openssldir=/usr/local/openssl
make && make install
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

//验证openssl 版本

root@ubuntu:~# openssl version
OpenSSL 1.1.1  11 Sep 2018

报错: openssl: relocation error: openssl: symbol EVP_mdc2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time referenc
解决方法:在/etc/ld.so.conf.d/libc.conf 文件中添加一行/usr/lib,运行ldconfig命令。

root@ubuntu:~# cat /etc/ld.so.conf.d/libc.conf 
# libc default configuration
/usr/local/lib
/usr/lib
root@ubuntu:~# ldconfig

四、编译安装openssh

systemctl stop sshd
cd /usr/local/src/
tar zxf openssh-8.6p1.tar.gz 
cd openssh-8.6p1/
./configure --prefix=/usr/local --sysconfdir=/etc/ssh \
--with-md5-passwords --with-zlib --with-ssl-dir=/usr/local \
--with-privsep-path=/var/lib/sshd

make && make install
# prefix                       安装目录
# sysconfdir                   配置文件目录
# with-md5-passwords           支持读取经过md5加密口令
# with-zlib                    指定zlib库安装路径
# with-privsep-path            指定非特权用户的chroot目录

替换命令

cd /usr/bin/
mv ssh* sftp scp c_rehash openssl /tmp/
ln -s /usr/local/bin/* /usr/bin/

//测试安装无误

root@ubuntu:~# systemctl start sshd

Ubuntu升级openssh8.6.1p_ubuntu_02

此时先不着急退出终端,再开一个终端看是否可以连接上,连接上即升级成功!

五、卸载telnet工具

mv /etc/xinetd.d/telnet{,.bak}
apt-get remove telnet -y
systemctl restart xinetd.service 
netstat -anput |grep 23