Linux——麒麟v10国产化系统升级openssh到10.0版本全过程

前言

公司关基检查,发现openssh版本太低,需要升级到10.0以上才行!但是网上有很多文档写得不尽人意,我在这里记录了自己升级过程,希望能对大家有所帮助。

需要同时升级openssl与openssh,将两个tar包放到同一个文件夹。

这两个安装包已经打包好了,在公众号【javaUp 】回复【ssh】即可领取

注意:以下升级过程不能中断,不然通过ssh就进不去了。

有问题可以通过公众号【javaUp】 回复【ssh联系我

一、升级步骤

1.准备工作

检查telnet是否安装

bash 复制代码
rpm -qa | grep telnet

如果没有,则执行下面命令

bash 复制代码
yum install telnet

启动telnet服务

bash 复制代码
systemctl start telnet.socket

检查telnet服务

bash 复制代码
systemctl status telnet.socket

检查防火墙是否启用,未启用不用管,如果启用放行23端口

bash 复制代码
systemctl status firewalld 

升级前先检查perl是否安装

bash 复制代码
perl -v

如果没有,则执行下面语句安装perl

bash 复制代码
yum install perl
 
yum install gcc
 
yum install zlib-devel
 
yum groupinstall "Development Tools"

检查是否安装perl-IPC-Cmd

bash 复制代码
rpm -q perl-IPC-Cmd

如果没有安装,则执行下面语句安装:

bash 复制代码
yum install -y perl-IPC-Cmd

一次性安装所有perl依赖

bash 复制代码
yum install -y perl perl-IPC-Cmd perl-Data-Dumper perl-Text-Template

2.升级openssl

bash 复制代码
#解压gz包
tar -zxvf openssl-3.4.1.tar.gz

#进入到文件夹
cd openssl-3.4.1/

#依次执行以下命令,时间较长,耐心等待,不要离开视线
##./config shared zlib -fPIC --prefix=/usr/local/openssl3

./config --prefix=/usr/local/openssl3 \
         --openssldir=/usr/local/openssl3 \
         shared \
         zlib

make -j 4

make install

备份后做软连接,如出现错误提示不用管

bash 复制代码
- 将库路径加入系统配置
echo '/usr/local/openssl3/lib64' > /etc/ld.so.conf.d/openssl3.conf

ldconfig -v

# 备份旧版本(可选)
sudo mv /usr/bin/openssl /usr/bin/openssl.bak

# 创建新链接
sudo ln -sf /usr/local/openssl3/bin/openssl /usr/bin/openssl
sudo ln -sf /usr/local/openssl3/lib64/libssl.so.3 /usr/lib64/libssl.so.3
sudo ln -sf /usr/local/openssl3/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3

查看openssl版本,如下图说明openssl已经升级完成!

bash 复制代码
openssl version

3.升级openssh

3.1 卸载旧的openssh

bash 复制代码
systemctl stop sshd
 
mv /etc/ssh /etc/ssh.bak
 
mv /usr/sbin/sshd /usr/sbin/sshd.bak
 
mv /usr/bin/ssh /usr/bin/ssh.bak

mv /usr/local/sbin/sshd /usr/local/sbin/sshd.bak

#找到ssh安装位置
which ssh

#备份上述安装位置
mv /usr/local/bin/ssh /usr/local/bin/ssh.bak

查看卸载情况

bash 复制代码
rpm -qa | grep openssh

如果有内容,执行以下命令

bash 复制代码
yum remove openssh

#再次检查卸载情况
rpm -qa | grep openssh

3.2 正式安装openssh

bash 复制代码
#解压openssh
tar -zxvf openssh-10.0p1.tar.gz

#进入到openssh文件夹
cd openssh-10.0p1/

#依次执行以下命令,时间较长,耐心等待,不要离开视线
./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl3 --with-zlib
 
make -j 4
 
make install

取消原有sshd启动方式并配置新版sshd.service,如出现错误提示不用管

bash 复制代码
ls /usr/lib/systemd/system/ssh *

## 谨慎使用该命令,注意当前目录是在openssh-10.0p1
rm -f /usr/lib/systemd/system/ssh *
 
cp contrib/redhat/sshd.init /etc/init.d/sshd

复制sshd相关文件到新目录

bash 复制代码
mkdir /etc/ssh

修改sshd_config配置文件,一定修改红框的,不改进不去

bash 复制代码
vim /usr/local/openssh/etc/sshd_config

PermitRootLogin yes

PubkeyAuthentication yes

依次执行以下命令复制文件,如果提示"是否覆盖",则输入y同意覆盖

bash 复制代码
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/sbin/sshd /usr/local/sbin/sshd
 
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

启动sshd服务并设置开机启动

bash 复制代码
systemctl daemon-reload
 
systemctl start sshd && systemctl enable sshd  

/usr/lib/systemd/systemd-sysv-install enable sshd

查看openssh版本号

bash 复制代码
ssh -V

或者

sshd -V

sshd -V可能还是原来的版本,不用管,用下面的方式验证:

3.3 验证

先别关闭这个窗口,换个窗口看能否登录,能登录则升级完成

再用以下命令查看版本

bash 复制代码
ssh -V

或者

sshd -V

4. 移除telnet并禁用

bash 复制代码
sudo yum remove telnet telnet-server '*telnet*' -y 2>/dev/null

参考资料

麒麟v10 国产化系统升级openssh_麒麟v10升级openssh-CSDN博客

升级openssl和openssh的一种方法_kylinv10 升级openssl-CSDN博客

Kylin Server 系统离线升级 openssh_离线升级openssh-CSDN博客

相关推荐
facaixxx202415 分钟前
雨云服务器区域选择终极指南:地域速度、节点带宽、延迟及防御说明
服务器·云服务器·雨云服务器·云服务器区域·云服务器地域·云服务器节点
小坏蛋至尊宝15 分钟前
如何优化文件传输的性能?
运维·服务器
小羽网安29 分钟前
2026年服务器安全防护实战:从被DDoS到完整防护体系搭建
服务器·安全·ddos
古城小栈29 分钟前
Python 的主流Ai框架为什么优先适配 Linux 系统?
linux·人工智能·python
爱学习的程序媛40 分钟前
DevOps 深度解析:从文化理念到落地实践
运维·devops
snow@li44 分钟前
服务器:配置中心 Nacos / Apollo 详解
运维·服务器
SEO_juper1 小时前
不同国家服务器、域名选择,提升本地谷歌抓取优先级
运维·服务器·seo·外贸·geo·独立站·跨境电商独立站
DeboPXK1 小时前
NSK VH25EM 高防尘法兰型导轨技术手册
服务器·网络·数据库·经验分享·规格说明书
浮云中的神马-潘帅1 小时前
魔兽世界自动化打地鼠方案
运维·自动化
鼎讯信通1 小时前
1024J冲击能量+三种放电模式:DLG-1高压发生器覆盖电缆故障全场景
运维·能源·信息与通信