当前位置: 首页 > news >正文

centos7下升级openssh9.4p1及openssl1.1.1v版本

背景:客户服务器扫描出一些漏洞,发现和版本有关,漏洞最高的版本是9.3p2,所以我们安装一个openssh9.4p1版本及openssl1.1.1v版本

虽然我们进行了镜像备份,为了安全先安装telnet以防止升级失败无法通过ssh连接服务器

一、安装telnet

1、安装配置telnet,一般Linux系统自带telnet客户端,只需安装服务端即可,另外telnet运行需要依靠xinetd组件
yum install telnet-server.x86_64 xinetd.x86_64

2、运行telnet服务
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd
systemctl status telnet.socket


3、移除文件
linux默认不允许root账户telnet远程登录,需要移除配置文件,保证root账户能够远程登录
mv /etc/securetty /etc/securetty.bak
firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload


4、使用xshell工具telnet协议连接服务器

二、安装openssl及openssh

下载安装包

cd /home/openssh_package
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1v.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz

2.1 升级openssl

1、备份原来的openssl
mv /usr/bin/openssl /usr/bin/openssl_bak
mv /usr/include/openssl /usr/include/openssl_bak

2、解压源码包

tar -zxvf openssl-1.1.1v.tar.gz

3、进行编译安装

安装依赖包

yum -y install zlib* pam-* gcc make

cd openssl-1.1.1v/
./config --prefix=/usr/local/openssl --shared

make

make install

4、配置软连接,如果提示已存在,参数换位-b,并使用openssl version查看版本
ln -sf /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

2.2 升级openssh

1、更改ssh目录名,在升级时如果ssh目录存在,配置文件不会被覆盖
mv /etc/ssh /etc/ssh_bak

2、解压源码包
tar -zxvf openssh-9.4p1.tar.gz

安装pam
yum -y install pam-devel

安装依赖包

yum -y install zlib* pam-* gcc make

3、编译安装

./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/openssl/include --with-ssl-dir=/usr/local/openssl   --with-zlib   --with-md5-passwords   --with-pam

make -j4

make install

4、复制配置文件
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd

5、配置/etc/ssh/sshd_config文件,允许root账户远程登录
vim /etc/ssh/sshd_config
PasswordAuthentication yes     //取消该行注释
PermitRootLogin yes      //添加该行,允许root账户远程登录

6、添加ssh开机自启动
chkconfig --add sshd
chkconfig sshd on

7、更改root密码
passwd root
# 输入新的密码

# 重启sshd服务

systemctl restart sshd

8、使用新密码重新连接服务器

9、查看ssh的版本

版本已更新

如果开始没有mv /etc/ssh操作可能存在的问题:

1、Permissions 0640 for '/etc/ssh/ssh_host_ed25519_key' are too open

ssh权限太大

解决办法:
权限变成600

chmod 0600 /etc/ssh/ssh_host_rsa_key
chmod 0600 /etc/ssh/ssh_host_ecdsa_key
chmod 0600 /etc/ssh/ssh_host_ed25519_key

2、/etc/ssh/sshd_config line 79: Unsupported option GSSAPIAuthentication

/etc/ssh/sshd_config line 80: Unsupported option GSSAPICleanupCredentials

# 解决办法
注释掉/etc/ssh/sshd_config文件的79和80行

http://www.lryc.cn/news/280970.html

相关文章:

  • vue+element弹窗内---下拉框定位问题解决(方法之两种)
  • MATLAB二维与三维绘图实验
  • usb个人总结
  • 进阶Docker2:数据卷和挂载目录
  • SHAP:最受欢迎、最有效的可解释人工智能工具包
  • 语境化语言表示模型-ELMO、BERT、GPT、XLnet
  • 和MATLAB相关的设置断点的快捷键
  • 实人认证(人像三要素)API:加强用户身份验证
  • 美易官方:一路火到2024!英伟达还在创造历史
  • 6个免费/商用图片素材网站
  • Java使用IText生产PDF时,中文标点符号出现在行首的问题处理
  • npx和npm有什么区别,包管理器yarn的使用方法,node的版本管理工具nvm使用方法
  • 【网络技术】【Kali Linux】Wireshark嗅探(九)安全HTTP协议(HTTPS协议)
  • POI-tl 知识整理:整理3 -> 动态生成表格
  • chatgpt和文心一言哪个更好用
  • 移动端开发进阶之蓝牙通讯(一)
  • 一个完整的流程表单流转
  • 2024杭州国际智慧城市,人工智能,安防展览会(杭州智博会)
  • 编程笔记 html5cssjs 031 HTML视频
  • SpringBoot外部配置文件
  • 99个Python脚本实用实例
  • HarmonyOS 工程目录介绍
  • 门店管理系统驱动智慧零售升级
  • Iterator迭代器操作集合元素时,不能用集合删除元素
  • Spring Boot是什么-特点介绍
  • 相机成像之图像传感器与ISP【四】
  • 新手入门Java 方法带参,方法重载及面向对象和面向过程的区别介绍
  • 使用Sqoop将Hive数据导出到TiDB
  • 互联网上门洗衣洗鞋工厂系统搭建;
  • Redis面试题12