关于遇到ssh的版本低,需升级的问题做记录
需求升级麒麟的ssh版本从8.2升级到10.0
需升级两个组件 分别为 openssl和 openssh
前提条件准备
前提条件
1.检查telnet是否安装
rpm -qa | grep telnet
2.没有执行下面命令
yum install telnet
3.启动服务
systemctl start telnet.socket
并检查 status
4.防火墙开启23端口
firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-port
一、升级openssl
1.perl -v 一般都有
2.放入临时文件夹并且安装
tar -zxvf openssl-3.4.1.tar.gz
tar -zxvf openssh-10.0p1.tar.gz
cd openssl-3.4.1
./config shared zlib -fPIC --prefix=/usr/local/openssl
make -j 4
make install
3.备份做软连接
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo '/usr/local/openssl/lib64' > /etc/ld.so.conf.d/openssl-x86_64.conf
ldconfig -v
#更新动态链接库
ldconfig
#进行验证
openssl version
#报错处理:
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
#创建软连接
ln -sf /usr/local/openssl/lib/libssl.so.3 /usr/lib/libssl.so.3
或 echo '/usr/local/openssl/lib64' | sudo tee /etc/ld.so.conf.d/openssl.conf
#进行验证
openssl version
二、升级ssh
1.卸载旧的ssh
备份
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
卸载
rpm -qa | grep openssh
yum remove openssh
没有输出任何文件说明已卸载
rpm -qa | grep openssh
2.安装
cd /linshi/openssh-10.0p1
./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl --with-zlib
make -j 4
make install
3.取消原有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
4.复制sshd到新目录
mkdir /etc/ssh
vim /usr/local/openssh/etc/sshd_config
并修改permitrootLogin 为yes
pubkeyauthentication 为yes(一定要改 后续影响登录)
5.依此复制下面命令
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
6.启动sshd服务 并设计开机启动
systemctl daemon-reload
systemctl start sshd && systemctl enable sshd
7.执行
/usr/lib/systemd/systemd-sysv-install enable sshd
ssh -V
8.换新窗口看是否能够登录,可以即ok
文章评论