centos7 升级openssh到openssh-8.6p1版本
2021/7/24 7:07:51
本文主要是介绍centos7 升级openssh到openssh-8.6p1版本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
前言
1.版本对比
2. 升级准备
3. 开始升级
3.1 升级openssl
3.2 安装openssh
前言
因为生产环境主机一直被通报存在openssh漏洞,报告显示小于某个版本存在很多的漏洞,没办法只能更新对应的版本,记录一下升级过程和一些坑点。已知的任何文档都有不可能完全解决我们即将面对的未知问题,所以建议多动手,多分析。建议在生产服务器操作时先使用同版本的系统到虚拟机上测试。整个过程会升级openssl和openssh,如果有人看到这篇文章并根据指导升级过程中出现问题,建议分开搜索相关升级流程。建议关闭防火墙和seLinux
1.版本对比
升级前旧版
升级后新版
2. 升级准备
安装依赖包
yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
安装pam和zlib等(原文介绍可以不用安装,我这里是安装了,其实不用安装也没什么,压根用不到)
yum install -y pam* zlib*
前往官网下载需要的安装包(openssl-1.1.1k.tar.gz)
前往官网下载需要的安装包(openssh-8.6p1.tar.gz)
3. 开始升级
3.1 升级openssl
将安装包上传到CentOS上,解压安装包,进入解压后的目录
./config --prefix=/usr/local/openssl # 添加openssl配置 make make install ./conifg -t # 更新配置 make depend # 安装 cd /usr/local ln -s openssl ssl # 添加软连接 echo "/usr/local/openssl/lib" >> /etc/ld.so.conf # 在/etc/ld.so.conf文件的最后面添加如下内容: /usr/local/openssl/lib ldconfig # 添加环境变量 vim /etc/profile export OPENSSL=/usr/local/openssl/bin(需要清楚openssl/bin在哪里) export PATH=$OPENSSL:$PATH:$HOME/bin cd /usr/local ldd /usr/local/openssl/bin/openssl # 会出现如下信息 # linux-vdso.so.1 => (0x00007fff3bc73000) # libdl.so.2 => /lib64/libdl.so.2 (0x00007fc5385d7000) # libc.so.6 => /lib64/libc.so.6 (0x00007fc538279000) # /lib64/ld-linux-x86-64.so.2 (0x00007fc5387db000) which openssl # 查看路径 openssl version # 查看版本
需要建立软链接
[root@localhost tools]# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
[root@localhost tools]# ln -s /usr/local/ssl/include/openssl /usr/include/openssl
[root@localhost tools]# ll /usr/bin/openssl
lrwxrwxrwx. 1 root root 26 Jul 23 20:39 /usr/bin/openssl -> /usr/local/ssl/bin/openssl
升级完成查看版本
3.2 安装openssh
将安装包上传到CentOS上,解压安装包,进入解压后的目录
执行升级前需要备份ssh配置文件
mv /etc/ssh /etc/sshbak
mv /usr/bin/ssh /usr/bin/sshbak
mv /usr/sbin/sshd /usr/sbin/sshdbak
进入openssh-8.6p1 目录下
rm -rf /etc/ssh/* # 删除原来的ssh配置文件 ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/ssl/include \ --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords --with-pam && make && make install echo $? # 检查执行结果
安装完成后修改配置文件
vim /etc/ssh/sshd_config
#PermitRootLogin prohibit-password #prohibit-password改为yes
PermitRootLogin yes # 修改后内容
#PasswordAuthentication yes 变为
PasswordAuthentication yes
#UseDNS no 变为
UseDNS no
# 从解压的安装目录经下拷贝文件到目标位置(别问为什么,问就是不知道) cp -a contrib/redhat/sshd.init /etc/init.d/sshd cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam chmod +x /etc/init.d/sshd
添加开机启动项
chkconfig --add sshd
systemctl enable sshd
把原先的systemd管理的sshd文件删除或者移走或者删除
mv /usr/lib/systemd/system/sshd.service /data/
/etc/init.d/sshd restart # 重启服务
到这里就安装完了,但是有一个很奇怪的现象,那就是没有sshd.service这个服务,控制ssh的服务是sshd.socket。等有时间在研究一下吧。
本文参考:
https://blog.csdn.net/qq_22041375/article/details/105701369
https://www.cnblogs.com/nmap/p/10779658.html
这篇关于centos7 升级openssh到openssh-8.6p1版本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解
- 2024-12-20利用Gemini构建处理各种PDF文档的Document AI管道