【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)

这篇具有很好参考价值的文章主要介绍了【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

👨‍🎓博主简介

  🏅CSDN博客专家
  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章声明

文章声明:此文基于实操撰写 生产环境:
ssh -V查看版本是:OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
问题关键字:OpenSSH 升级, OpenSSH 更新, OpenSSH 漏洞修复
漏洞信息:OpenSSH 命令注入漏洞(CVE-2023-51385)

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

漏洞描述

OpenSSH命令注入漏洞(CVE-2023-51385)详细描述:

该漏洞与配置文件ssh_config有关,攻击者可以修改配置文件中的ProxyCommand、LocalCommand、Match exec相关命令,通过%h、%u或类似的扩展标记引用主机名或用户名,在建立SSH连接时,注入恶意shell字符进行命令注入攻击。

  • 影响范围:

OpenSSH < 9.6

前述

OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。 OpenSSH 8.9版本至9.3之前版本存在安全漏洞,该漏洞源于将智能卡密钥添加到ssh-agent,会导致忽略每次转发的目标约束。
注:此操作步骤同样适用于Red Hat系所有 9.x 服务器系统。

注意事项:

在升级之前,建议打开多个SSH终端连接,并安装telnet服务器,确保在SSH服务器升级异常时,可以通过telnet服务器远程连接,进行紧急问题修复处理。
因为最开始需要直接卸载openssh,卸载完之后就连不上了,如有问题不好解决,所以建议多开几个SSH终端连接。
在升级前一定要备份原有的配置文件,以防出现意外情况。

安装一些必要的命令(需要用到的)

安装一些必要的命令(需要用到的)

yum install wget gcc openssl-devel pam-devel rpm-build zlib-devel -y

如果没有外网,可以选择在有网络的服务器上下载rpm安装包,yum离线下载安装包可参考:Centos7 yum如何下载离线安装包?(详解)

或者是使用我提供的离线包:openssh7.4p1 升级到 openssh9.6p1 所需的离线包

网盘下载:
链接: https://pan.baidu.com/s/1eLN1mIZc2yW2KEMa03HCLQ?pwd=open
提取码:open

命令解析:

  • 1.1 OpenSSL:OpenSSH 使用了 OpenSSL 的加密库。因此,在更新 OpenSSH 之前,需要先更新 OpenSSL 的版本。
  • 1.2 PAM:OpenSSH 使用了Pluggable Authentication Modules (PAM),因此需要安装 PAM 相关的库文件。
  • 1.3 Zlib:OpenSSH 使用了 Zlib 库进行数据压缩。因此,需要安装 Zlib 的库文件。
  • 1.4 GCC 和 G++:OpenSSH 的编译需要 GCC 和 G++ 编译器。

Centos 服务器升级OpenSSH到9.6p1

1、安装依赖

安装一些必要的命令(需要用到的)

2、编译安装openssl

2.1 官网下载安装包:openssl官网

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全
【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz

或者是使用我提供的离线包:openssh7.4p1 升级到 openssh9.6p1 所需的离线包

网盘下载:
链接: https://pan.baidu.com/s/1eLN1mIZc2yW2KEMa03HCLQ?pwd=open
提取码:open


如果遇到以下问题,后面加上--no-check-certificate

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz --no-check-certificate

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

2.2 解压并放到/usr/local/目录

tar xf openssl-1.1.1t.tar.gz -C /usr/local

2.3 编译安装openssl

# 进入openssl目录
cd /usr/local/openssl-1.1.1t

# 编译安装openssl
./config shared --prefix=/usr/local/openssl
make -j 4
make install

2.4 为openssl做软连接

echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
# 加载配置文件
ldconfig
# 备份以前的openssl
mv /usr/bin/openssl /usr/bin/openssl.old
# 软连接,如果提示软连接已存在,记得备份软连接,然后在执行下面再次软连接,要不然会出问题,会导致root目录看不了,磁盘看不了,sftp连接不上;
ln -sv /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

软连接,如果提示软连接已存在,记得备份软连接,然后在执行上面再次进行软连接,要不然会出问题,会导致root目录看不了,磁盘看不了,sftp连接不上,等等一系列问题;

2.5 查看openssl版本

openssl version -a

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

3、查看、备份并卸载原有OpenSSH

确保终端一直连接 断开远程连接就不能用了

# 查看当前安装包
[root@localhost ~]# rpm -qa | grep openssh
openssh-clients-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64

# 查看当前OpenSSH版本(Centos7 默认使用OpenSSH_7.4p1)
[root@localhost ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

# 备份现有的SSH
[root@localhost ~]# mv /etc/ssh/ /etc/ssh.bak
[root@localhost ~]# mv /usr/bin/ssh /usr/bin/ssh.bak
[root@localhost ~]# mv /usr/sbin/sshd /usr/sbin/sshd.bak

# 如果您是第一次升级,备份/etc/init.d/sshd时会不存在,不影响后续操作
[root@localhost ~]# mv /etc/init.d/sshd /etc/init.d/sshd.bak
mv: 无法获取'/etc/init.d/sshd' 的文件状态(stat): No such file or directory

# 卸载现有OpenSSH
rpm -e --nodeps $(rpm -qa |grep openssh)

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

确保已经卸载成功(没有返回则卸载成功)

rpm -qa | grep openssh

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

4、下载OpenSSH二进制包

openssh官网:下载官网

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

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

或者是使用我提供的离线包:openssh7.4p1 升级到 openssh9.6p1 所需的离线包

网盘下载:
链接: https://pan.baidu.com/s/1eLN1mIZc2yW2KEMa03HCLQ?pwd=open
提取码:open

5、解压并编译安装OpenSSH

# 将下载的openssh安装包移动到/usr/local下
[root@localhost ~]# mv openssh-9.6p1.tar.gz /usr/local/

# 进入/usr/local/目录解压openssh9.3
[root@localhost ~]# cd /usr/local/
[root@localhost local]# tar xf openssh-9.6p1.tar.gz

# 进入openssh目录
[root@localhost local]# cd openssh-9.6p1

# 编译安装
[root@localhost openssh-9.6p1]# CCFLAGS="-I/usr/local/include" \
LDFLAGS="-L/usr/local/lib64" \
./configure \
--sysconfdir=/etc/ssh \
--with-zlib \
--with-ssl-dir=/usr/local/openssl

[root@localhost openssh-9.6p1]# make -j 4
[root@localhost openssh-9.6p1]# make install

6、授权

[root@localhost openssh-9.6p1]# chmod 600 /etc/ssh/*

7、复制配置文件

[root@localhost openssh-9.6p1]# cp -rf /usr/local/sbin/sshd /usr/sbin/sshd
[root@localhost openssh-9.6p1]# cp -rf /usr/local/bin/ssh /usr/bin/ssh
[root@localhost openssh-9.6p1]# cp -rf /usr/local/bin/ssh-keygen /usr/bin/ssh-keygen
[root@localhost openssh-9.6p1]# cp -ar /usr/local/openssh-9.6p1/contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost openssh-9.6p1]# cp -ar /usr/local/openssh-9.6p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

8、修改配置允许root用户远程登录

# 修改配置允许root用户远程登录(允许使用密码登录,允许root远程登录,开启端口,赋予/etc/init.d/sshd权限)
cat >>/etc/ssh/sshd_config<<EOF
PermitRootLogin yes
X11Forwarding yes
PasswordAuthentication yes
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
EOF

[root@localhost openssh-9.6p1]# sed -i "s/^#Port/Port/g" /etc/ssh/sshd_config
[root@localhost openssh-9.6p1]# chmod 755 /etc/init.d/sshd

9、启用sshd,生成服务配置文件,并重启服务

# 启用sshd,生成服务配置文件
[root@localhost openssh-9.6p1]# systemctl enable sshd
sshd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig sshd on

# 重启服务
[root@localhost openssh-9.6p1]# systemctl restart sshd
# 查看服务状态
[root@localhost openssh-9.6p1]# systemctl status sshd

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

10、验证升级是否成功

[root@localhost ~]# ssh -V
OpenSSH_9.6p1, OpenSSL 1.1.1t  7 Feb 2023

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

可能遇到的问题及解决方式

问题一:

编译如果有此报错,可能是你没安装gcc…需要的命令,返回最上面: 安装一些必要的命令(需要用到的),安装完再次编译就可以了。

【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏),《Linux从入门到精通》,# 《Linux服务器安全》,# 《OpenSSH 系列》,linux,运维,openssh,openssl,服务器安全

问题二:

编译时报错信息:

checking for cc... cc
checking whether the C compiler works... no
configure: error: in `/usr/local/openssh-9.6p1':
configure: error: C compiler cannot create executables
See `config.log' for more details

gcc问题,如果gcc是5.4将gcc降级为4.8.5,我遇到的问题就是因为gcc的版本为5.4,将gcc版本降为4.8.5即可。

问题三:

编译时报错信息:

checking for openssl/opensslv.h... yes
checking OpenSSL header version... 009070e0 (OpenSSL 0.9.7n-dev xx XXX xxxx)
checking for OpenSSL_version... no
checking for OpenSSL_version_num... no
checking OpenSSL library version... configure: error: OpenSSL >= 1.0.1 required (have "009070e0 (OpenSSL 0.9.7n-dev xx XXX xxxx)")

这个报错是说版本要必须大于等于1.0.1,但是ssh -V我看的时候是1.0.2,可能还是因为版本太低了,我就升级了一个openssl版本为1.1.1,就可以了。安装openssl可参考:编译安装openssl

问题四:

升级OpenSSH后SFTP无法连接问题

  • 1.修改配置
vim  /etc/ssh/sshd_config
 
#override default of no subsystems
#Subsystem      sftp    /usr/local/openssh/libexec/sftp-server改成下面这句
Subsystem      sftp    internal-sftp
  • 2.重启sshd服务
systemctl restart sshd

再试一下就可以了。文章来源地址https://www.toymoban.com/news/detail-854625.html

参考文献

  • [1] 国家信息安全漏洞库:http://www.cnnvd.org.cn/
  • [2] 腾讯安全:https://s.tencent.com/research/bsafe/
  • [3] Centos7 yum如何下载离线安装包?(详解):https://liucy.blog.csdn.net/article/details/125780172?spm=1001.2014.3001.5502

相关专栏

专栏标题 专栏链接
《OpenSSH 系列》 https://blog.csdn.net/liu_chen_yang/category_12463139.html
《Linux从入门到精通》 https://blog.csdn.net/liu_chen_yang/category_10887074.html
《Linux服务器安全》 https://blog.csdn.net/liu_chen_yang/category_12390514.html

相关文章

文章标题 文章链接
【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_8.7p1(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/130484944
【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.3p1(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/131398113
【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.3p2(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/133460612
【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.4p1(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/133697104
【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/136536352
【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.3p2(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/133460539
【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.5p1(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/134717718
【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/136327961
【Linux】 OpenSSH_9.3p2 升级到 OpenSSH_9.4p1(亲测无问题,建议收藏) https://liucy.blog.csdn.net/article/details/133682882

到了这里,关于【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_9.3p2(亲测无问题,建议收藏)

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月08日
    浏览(45)
  • 【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.5p1(亲测无问题,建议收藏)

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月05日
    浏览(64)
  • 【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.3p2(亲测无问题,建议收藏)

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月08日
    浏览(53)
  • 【Linux】 OpenSSH_9.3p2 升级到 OpenSSH_9.4p1(亲测无问题,建议收藏)

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月05日
    浏览(42)
  • Linux Centos7 升级最新版OpenSSH-9.6p1详细步骤(附脚本)

            最近公司系统在进行三级等保测评,其中有一项高危漏洞是Linux服务器的SSH版本太低存在安全风险,要求整改升级到最新版本,此篇文章记录SSH升级步骤和脚本。 鸣谢:本文参考文章,在该作者文章的所提供的脚本基础上进行修改而来:Linux OpenSSH-9.0p1最新版升级

    2024年02月03日
    浏览(55)
  • CentOS离线升级OpenSSH至9.6p1版本

    一、问题背景         目前经过安全部门漏洞扫描设备扫描出CentOS系统存在OpenSSH相关漏洞,现修复建议是OpenSSH过低版本升级至9.6p1版本,但是升级过程中其他依赖也需安装,例如OpenSSL、zlib等。 二、下载安装包         需要下载对应版本安装包后,上传至服务器上(

    2024年04月23日
    浏览(44)
  • OpenHarmony移植OpenSSH-9.6p1

    本文主要介绍如何在OpenHarmony系统下通过ndk工具移植OpenSSH-9.6p1。 未编译过ohos-sdk的话,先执行下面的命令编译sdk: 编译好ohos-sdk之后,可以直接从编译路径下拷贝到指定路径,当然也可以直接将out目录下的ohos sdk的native路径作为NDK的路径。如果下载的public-sdk,也可以从压缩包

    2024年01月22日
    浏览(56)
  • Linux OpenSSH最新版9.7p1升级操作详细教程

    原创声明:非本人许可,谢绝转载! 前几天与朋友闲聊中得知他朋友圈有服务器因OpenSSH漏洞遭受攻击的事情,OpenSSH重要性这里就不废话了,在网上一查,公布的漏洞还真不少,其中还有不少利用难度很低的漏洞。查了下自已管辖服务器的OpenSSH版本,天啊,这不妥妥的是待宰

    2024年04月27日
    浏览(70)
  • CentOS 6 制作openssh 9.6 p1 rpm包(含ssh-copy-id、openssl) —— 筑梦之路

    openssh 9.6 需要openssl 1.1.1 以上版本,因此需要先安装openssl  1.1.1,可阅读这篇升级更新openssl版本到1.1.1w CentOS 6 制作openssl 1.1.1w rpm包 —— 筑梦之路-CSDN博客 CentOS 6很久都停止更新和支持,关于此版本的写的不多,之前写过这篇可作为参考 CentOS 6 源码制作openssh8.9/9.0/9.1/9.2/9.3

    2024年01月20日
    浏览(55)
  • 在 ubuntu 18.04 上使用源码升级 OpenSSH_7.6p1到 OpenSSH_9.3p1

    1、检查系统已安装的当前 SSH 版本 使用命令 ssh -V 查看当前 ssh 版本,输出如下: 2、安装依赖,依次执行以下命令 sudo apt update sudo apt install build-essential zlib1g-dev libssl-dev 3、设置环境 为了创建一个合适的环境来安装 OpenSSH 服务,需要创建一个安装环境 sudo mkdir /var/lib/sshd sudo

    2024年02月13日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包