您的位置 首页 linux 运维

OpenSSH 升级-ubuntu 18

OpenSSH 有漏洞, ubuntu 18.04版本

截止2024年7月3日,建议升级到当前最新的版本9.8,或后续更高版本。

openssh版本升级实战(修补ssh漏洞) (zhihu.com)

openssl 如果是1.1.1版本,可以不用升级

1- 先检查版本:

ssh -V

sshd -V

 

1、安装操作系统依赖包:

yum install -y telnet gcc zlib-devel  

yum install -y openssl-devel

2、下载最新版openssh和openssl:

https://www.openssh.com/releasenotes.html

下载:

https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/
https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

 

举例最新为:OpenSSH9.8

2)、由于openssh依赖openssl,所以需要安装新版openssl,从OpenSSH9.4p1开始要求openssl>=1.1.1版本

不要下载 3的版本, 有问题,可以下载1.1.1w

可以先检测仪啊 openssl的版本, 我现在是1.1.1k (此版本是没问题的)

sshd -v

openssl下载网址



https://openssl-library.org/source/old/1.1.1/index.html

用这个版本:openssl-1.1.1w .tar.gz

 

3)、上传下载的安装包:openssl-1.1.1w.tar.gz和openssh-9.5p1.tar.gz

openssl version

 

tar -xzvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
mkdir -p /usr/openssh/openssl1.1.1w
./config --prefix=/usr/openssh/openssl1.1.1w
make
make install
ll /usr/openssh/openssl1.1.1w
cd ..
rm -rf openssl-1.1.1w*

 

 

 

2)、修改配置文件:

编辑/etc/profile配置文件(vi /etc/profile),设置环境变量,在profile文件最后添加如下两行:

export LD_LIBRARY_PATH=/usr/openssh/openssl1.1.1w/lib:$LD_LIBRARY_PATH
export PATH=/usr/openssh/openssh-9.8p1/bin:/usr/openssh/openssh-9.8p1/sbin:/usr/openssh/openssl1.1.1w/bin:$PATH

 

 

4、编译升级openssh-9.8p1

1)、进入到openssh-9.8p1.tar.gz文件所在的目录,执行编译安装命令:

tar  xf  openssh-9.8p1.tar.gz

cd openssh-9.8p1/

mkdir -p /usr/openssh/openssh-9.8p1/

./configure --prefix=/usr/openssh/openssh-9.8p1 --with-ssl-dir=/usr/openssh/openssl1.1.1w
make && make install

 

肯能遇到的错误:

configure: error: *** zlib.h missing – please install first or check config.log

2)、修改配置文件:

 vi /usr/openssh/openssh-9.8p1/etc/sshd_config 

#允许root登录,默认值prohibit-password表示root用户只能通过公私钥的方式登录,不能以密码的方式登录

PermitRootLogin yes      

 

 

4)、停用原sshd服务,并备份相关文件

备份文件:

注意:以下命令都要一条一条的执行 , 加上sudo


mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/openssh/openssh-9.8p1/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/openssh/openssh-9.8p1/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/openssh/openssh-9.8p1/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/openssh/openssh-9.8p1/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/openssh/openssh-9.8p1/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

ubuntu18升级openssh_ubuntu18.04 lts openssh服务漏洞升级-CSDN博客

验证是否升级成功

ssh -V

重启sshd服务

sudo systemctl daemon-reload 
 sudo systemctl restart sshd.service

升级成功,

再次登录ssh ,验证一下登录成功就可以。

5、测试验证

重新连接一个新的窗口来测试新sshd是否可以正常连接,并测试版本号,最后重启服务器测试是否可以重启成功:

sshd -V

ssh -V

 

注意:升级完openssh后,有一些比较老的远程连接工具可能就无法连接上了(由于密钥等问题),例如secureCRT7等,报错例如“Key exchange failed”

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章