> 技术文档 > Linux——麒麟v10国产化系统升级openssh到10.0版本全过程_麒麟v10升级openssh

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


前言

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

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

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

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

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

一、升级步骤

1.准备工作

检查telnet是否安装

rpm -qa | grep telnet

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

yum install telnet

启动telnet服务

systemctl start telnet.socket

检查telnet服务

systemctl status telnet.socket

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

systemctl status firewalled 

 升级前先检查perl是否安装

perl -v

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

yum install perl yum install gcc yum install zlib-devel yum groupinstall \"Development Tools\"

2.升级openssl

#解压gz包tar -zxvf openssl-3.4.1.tar.gz#进入到文件夹cd openssl-3.4.1/#依次执行以下命令,时间较长,耐心等待,不要离开视线./config shared zlib -fPIC --prefix=/usr/local/opensslmake -j 4make install

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

mv /usr/bin/openssl /usr/bin/openssl.bakmv /usr/include/openssl /usr/include/openssl.bakln -s /usr/local/openssl/bin/openssl /usr/bin/opensslln -s /usr/local/openssl/include/openssl /usr/include/opensslecho \'/usr/local/openssl/lib\' > /etc/ld.so.conf.d/openssl-x86_64.confldconfig -v

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

openssl version

 

3.升级openssh

3.1 卸载旧的openssh

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#找到ssh安装位置which ssh#备份上述安装位置mv /usr/local/bin/ssh /usr/local/bin/ssh.bak

查看卸载情况 

rpm -qa | grep openssh

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

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

3.2 正式安装openssh 

#解压opensshtar -zxvf openssh-10.0p1.tar.gz#进入到openssh文件夹cd openssh-10.0p1/#依次执行以下命令,时间较长,耐心等待,不要离开视线./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl --with-zlib make -j 4 make install

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

ls /usr/lib/systemd/system/ssh * rm -f /usr/lib/systemd/system/ssh * cp contrib/redhat/sshd.init /etc/init.d/sshd

 复制sshd相关文件到新目录

mkdir /etc/ssh

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

vim /usr/local/openssh/etc/sshd_config

PermitRootLogin yes
PubkeyAuthentication yes

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

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

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

systemctl daemon-reload systemctl start sshd && systemctl enable sshd /usr/lib/systemd/systemd-sysv-install enable sshd

查看openssh版本号 

ssh -V或者sshd -V

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

3.3 验证

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

再用以下命令查看版本

ssh -V或者sshd -V

[参考资料]:

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

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

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