ubuntu22.04升级ssh版本至9.8p1

脑瓜子不清醒 2024-08-05 08:07:03 阅读 85

话不多说,直接进入正题。由于升级ssh版本存在升级失败导致无法连接服务器,所以需要先开启telnet服务器

一.安装telnet服务

在线环境

1.安装telnet服务

<code>sudo apt-get install telnetd -y

2.确认服务器已经启动

sudo netstat -a | grep telnet

3.验证telnet服务可用(找一台登录此服务器的pc)

telnet x.x.x.x //等登录即可

离线环境

1.在能联网的环境下载telnet以及需要的依赖

mkdir telnet

cd telnet

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends telnetd | grep -v i386 | grep "^\w")

cd ..

tar zcvf telnet.tar.gz telnet

2.将telnet和依赖上传至目标服务器

scp telnet.tar.gz root@x.x.x.x:/opt

3.解压telnet和依赖上

cd /opt

tar -zvxf telnet.tar.gz

4.安装telnet服务

cd telnet

dpkg -i *

5.验证安装是否正确,已经是否能够登录和在线环境测试步骤一致

sudo netstat -a | grep telnet

telnet x.x.x.x //等登录即可

二.升级ssh版本

在线升级

1.查看当前版本

sshd -V

2.当前ssh状态

systemctl status sshd

3.安装当前源最新版ssh

apt update

apt install openssh-server

4.验证

ssh -V

OpenSSH_8.9p1 Ubuntu-3ubuntu0.10, OpenSSL 3.0.2 15 Mar 2022 //此结果升级完成

离线升级

1.在能联网的环境下载ssh以及需要的依赖

mkdir ssh

cd ssh

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends ssh | grep -v i386 | grep "^\w")

rm -rf ssh* //删除当前版本的ssh

cd ..

tar zcvf ssh.tar.gz ssh

下载编译所需环境

mkdir gcc

cd gcc

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends build-essential | grep -v i386 | grep "^\w")

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends make | grep -v i386 | grep "^\w")

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends zlib1g-dev| grep -v i386 | grep "^\w")

apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends libssl-dev| grep -v i386 | grep "^\w")

cd ..

tar zxcf gcc.tar.gz gcc

2.下载要升级版本的ssh(由于ssh-rce漏洞影响本文升级以9.8p为例)

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/ //下载需要升级的版本

9.8p版本

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

3. 将ssh依赖和ssh安装包上传至目标服务器

scp ssh.tar.gz openssh-9.8p1.tar.gz gcc.tar.gz root@x.x.x.x:/opt

4.解压文件

tar -zvxf ssh.tar.gz

tar -zvxf openssh-9.8p1.tar.gz

tar -zvxf gcc.tar.gz

5.首先安装依赖后安装ssh服务

cd ssh

dpkg -i *

cd ..

cd gcc

dpkg -i *

6.安装ssh

cd openssh-9.8p1

./configure

make

make install

systemctl restart sshd

7.验证

ssh -V

OpenSSH_8.9p1 Ubuntu-3ubuntu0.10, OpenSSL 3.0.2 15 Mar 2022 //此结果升级完成

8.升级完毕,关闭telnet服务

<code>netstat -a |grep telnet

update-rc.d -f telnetd remove



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。