首页 > 系统相关 >centos7.9 升级openssh(9.7p1)

centos7.9 升级openssh(9.7p1)

时间:2024-05-30 14:48:04浏览次数:27  
标签:p1 etc openssh openssl centos7.9 ssh 9.7 local usr

参考自:https://blog.csdn.net/morecccc/article/details/134758892

原文亲测有效,本文用于备份和记录心得

注意事项:

①先安装telnet,防止ssh升级失败,连不上服务器的情况(但是需要拥有root密码,才能使用su root,不然这一步可以省略)

②下载想要的版本的包

cd /usr/local/src/
wget https://www.openssl.org/source/openssl-3.2.1.tar.gz
wget https://zlib.net/current/zlib.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz

③解压安装zlib

cd /usr/local/src/
tar zxvf zlib.tar.gz
cd zlib-1.3.1
yum install gcc gcc-c++ make -y
./configure --prefix=/usr/local/zlib
make && make install

④升级ssl
cd /usr/local/src/
tar zxvf openssl-3.2.1.tar.gz
cd openssl-3.2.1
yum install -y perl-CPAN perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
./config --prefix=/usr/local/ssl --shared
make && make install

④①备份ssl,以防未知情况导致升级失败,可以回到升级前的版本(这里特别注意该备份语句只能执行一次,不然会覆盖备份文件导致本次备份失败)

mv -f /usr/bin/openssl /usr/bin/openssl.bak

④②路径写入etc/ld.so.conf(这里也有坑,需要根据服务器环境来配置,第一次按照原文用/usr/local/ssl/lib并不能成功)

[root@localhost ~]# whereis openssl
openssl: /usr/bin/openssl /usr/bin/openssl.bak /usr/lib64/openssl /usr/include/openssl

我的服务只有64位的路径,所以用了下面的路径

echo '/usr/local/ssl/lib64' >> /etc/ld.so.conf
④③建立软连接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

④④检查配置问题(个人猜测)
ldconfig -v

④⑤查看ssl版本是否为新的版本
openssl version -a

⑤升级sshd

⑤①备份ssh相关文件

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp -p /usr/sbin/sshd /usr/sbin/sshd.bak
cp -p /usr/bin/ssh /usr/bin/ssh.bak
cp -p /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -p /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak

⑤②停止sshd服务,并备份ssh文件夹

systemctl stop sshd
cp -r /etc/ssh /etc/ssh.old

⑤③卸载ssh,注意全部卸载干净
rpm -qa | grep openssh
yum remove openssh-7.4p1-23.el7_9.x86_64
rpm -qa | grep openssh

⑤④升级ssh
cd /usr/local/src/
tar zxvf openssh-9.7p1.tar.gz
cd openssh-9.7p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install

⑤⑤添加相关配置
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

⑤⑥将编译安装的新配置复制到原目录中

cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

⑤⑦复制启动脚本,并添加启动权限
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd

⑤⑧重启ssh,并查看状态

systemctl restart sshd
systemctl status sshd

⑤⑨重新加载ssh配置

systemctl daemon-reload

⑤⑩查看ssh版本是否为新版本
ssh -V

 

如果是很多台服务器可以自己搞成sh文件去批量执行,本文只是记录单个的方法和原理,不建议在不了解原理前就直接使用网上的一键执行语句

 

标签:p1,etc,openssh,openssl,centos7.9,ssh,9.7,local,usr
From: https://www.cnblogs.com/jianghaidong/p/18222281

相关文章

  • Error in system(paste(MAKE, p1(paste("-f", shQuote(makefiles))), "compilers"),
     001、R语言windows中安装R包出现如下报错Errorinsystem(paste(MAKE,p1(paste("-f",shQuote(makefiles))),"compilers"),:'make'notfound 002、确认是否安装Rtoolsinstall.packages("pkgbuild")pkgbuild::find_rtools(debug=TRU......
  • 【回溯】洛谷P1135奇怪的电梯
    题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 ......
  • CSP历年复赛题-P1308 [NOIP2011 普及组] 统计单词数
    原题链接:https://www.luogu.com.cn/problem/P1308题意解读:给定单词a,文本b,在b中找a的个数,并找a第一次出现的位置,注意b中任何位置可能含有多个连续空格。解题思路:通过双指针找b中每一个单词的首、尾位置i,j,与a进行一一比较即可。注意1:比较时不考虑大小写,可以统一转成小写字符tolo......
  • CSP历年复赛题-P1199 [NOIP2010 普及组] 三国游戏
    原题链接:https://www.luogu.com.cn/problem/P1199题意解读:人机轮流选将,电脑策略就是破坏可能和人已选能组成最大默契值的将,问人是否必胜,求出站的一对武将的默契值。解题思路:贪心题通常比较难以下手,经过分析,人肯定不可能选到每一行的最大默契值,因为电脑会破坏;进一步思考,那人能......
  • P10528 [XJTUPC2024] 崩坏:星穹铁道 题解
    头图无语了,猜猜WA哪了不要真头图崩坏:星穹铁道题链这么简单做不对不许玩崩铁!题目大意给你行动的总次数\(n\)和初始战技点数量\(k\),以及编队里四名角色的行动类型,求不同行动方式的方案数。类型如下:思路先考虑dp,分角色类型讨论。设\(f_{i,k}\)表示第\(i......
  • C130 并查集 P1197 [JSOI2008] 星球大战
    视频链接:  P1197[JSOI2008]星球大战-洛谷|计算机科学教育新生态(luogu.com.cn)//并查集#include<iostream>#include<cstdio>#include<cstring>usingnamespacestd;constintN=400005;inth[N],from[N],to[N],ne[N],idx;voidadd(intu,intv){from[......
  • openssh9.7p1(OpenSSL 1.1.1w)适用于各Linux系统的rpm包
    本人近几日编译的openssh9.7p1包,用于解决漏洞扫描器提示openssh相关漏洞的问题处理。包含多个Linux发行版本(包含el6\el7\el8\openeuler2110\openeuler2203\BCLinux\eulerOS2.10对应版本等)。一、适用openeuler2203和openeuler2203sp*系列(含BClinux对应系列):openssh9.7P1forop......
  • CSP历年复赛题-P1190 [NOIP2010 普及组] 接水问题
    原题链接:https://www.luogu.com.cn/problem/P1190题意解读:n个人在m个水龙头排队接水,每个人接水量不同,接完水的排队的人可以接上,求总的接水时间。解题思路:1、先把前m个人安排在m个水龙头2、对于m后面的每一个人,都排在目前m个水龙头总接水时间最短的后面3、最后看m个水龙头最大......
  • CSP历年复赛题-P1179 [NOIP2010 普及组] 数字统计
    原题链接:https://www.luogu.com.cn/problem/P1179题意解读:统计l~r之间的整数包括多少个数字2。解题思路:枚举每一个数,对每一个数的每一位数字进行判断。100分代码:#include<bits/stdc++.h>usingnamespacestd;intl,r,ans;intmain(){cin>>l>>r;f......
  • CSP历年复赛题-P1058 [NOIP2008 普及组] 立体图
    原题链接:https://www.luogu.com.cn/problem/P1058题意解读:在m*n的平面上,输出若干个立方体,每一个格子可以有高度不同的多个立方体。解题思路:此题咋一看来,无从下手,仔细分析,其实一道模拟题。如何模拟?我们一起来解决一下几个关键问题:1、如何画图?要在平面上输出图案,本质上就是将......