龙蜥Anolis OS 8.9 升级 OpenSSH 到 openssh-9.4p1及openssl-1.1.1k

Anolis OS  8.9 升级 OpenSSH 到 openssh-9.4p1及openssl-1.1.1k

注:ssh升级到openssh-9.4p1需要openssl-1.1.1及以上!!!

openssh-9.4p1和openssl-1.1.1下载地址

一、升级openssl 到openssl-1.1.1k

1.基础环境

首先,安装基础依赖包

yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel wget vim unzip lrzsz

yum install -y pam* zlib*
 

.然后,关闭SELinux,随便创建一个放源文件的目录

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config

setenforce 0
 
#创建目录
 
mkdir -p /app/src

2.编译安装OpenSSL

cd /app/src
 
#上传openssl源码包
 rz
 tar xf openssl-1.1.1k.tar.gz
 cd openssl-1.1.1k/
 

 mkdir /usr/local/openssl
 ./config --prefix=/usr/local/openssl
 

 make && make install
 
检查编译安装结果
 ls /usr/local/openssl
 

 配置OpenSSL
 
mv /usr/bin/openssl /usr/bin/openssl.bak
 mv /usr/include/openssl /usr/include/openssl.bak
 
#默认是使用了软连接:/usr/lib64/libssl.so -> libssl.so.1.0.2k
 #而真实文件路径则是:/usr/lib64/libssl.so.1.0.2k
 
unlink /usr/lib64/libssl.so

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so

echo ‘/usr/local/openssl/lib’ >> /etc/ld.so.conf

ldconfig -v

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1


 检查OpenSSL升级是否成功
 openssl version
 

 #ping一下看看基础命令是否受影响
 ping www.baidu.com
 

二、升级 OpenSSH 到 openssh-9.4p1

openssh-9.4p1下载地址
 修复方案:需确认机器已安装的软件包中不存在低版本openssh组件,如可通过执行命令:rpm -qa | grep openssh查看组件版本。
 
准备工作
 
安装编译所需依赖软件包:
 
yum install -y wget gcc pam-devel libselinux-devel zlib-devel openssl-devel

yum -y install perl
 
下载 OpenSSH 安装包上传至服务器或 wget 直接下载

cd /app/src
wget -O openssh.tar.gz https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz

备份配置文件 一般卸载的时候都会把配置文件以sshd_config.rpmsave的方式另存一份,但是**/etc/pam.d/sshd**这个配置文件并没有另存,所以建议都备份一下。
 
cp /etc/ssh/sshd_config sshd_config.backup

cp /etc/pam.d/sshd sshd.backup
 
删除低版本OpenSSH的的rpm包

rpm -e --nodeps `rpm -qa | grep openssh`

安装openssh
 解压:
 
tar -zxvf openssh.tar.gz
 cd openssh-9.4p1
 
编译配置:
 
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --without-hardening
 
(注意:dir=/usr/local/openss,在编译安装SSL的时候创建过一个文件夹路径lmkdir /usr/local/openssll,路径一定要正确!!!)
 

编译安装:
 make && make install
 

配置:调整文件权限
 
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key

复制配置文件:
 
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
 chmod u+x /etc/init.d/sshd
 
还原配置文件:

mv ../sshd.backup /etc/pam.d/sshd
mv ../sshd_config.backup /etc/ssh/sshd_config

添加添加自启服务ssh到开机启动项:
 
chkconfig --add sshd
 chkconfig sshd on
 
重启服务:
 
systemctl restart sshd
 
验证结果:
 查看下安装结果:
 
ssh -V

运行结果:
 

到此,升级基本完成。安全起见不要关闭SSH窗口,新增一个SSH连接,看看能否正常登录。如果不能登录,可以根据 sshd 的日志进行配置调整。

备注:升级后不能立即断开连接否则无法重连(解决办法):
 
vi /etc/ssh/sshd_config
 
PermitRootLogin yes #这个是允许root登陆
 
(openssh-9.4p1版本中默认#PermitRootLogin yes 取消注释既可。
 openssh-9.6p1版本中默认#PermitRootLogin prohibit-password,取消注释,prohibit-password改为yes)
 

 上面的配置文件/etc/ssh/sshd_config中UsePAM yes取消注释#UsePAM yes
 
(openssh-9.4p1版本中默认#Use PAM yse 取消注释既可。
 openssh-9.6p1版本中默认#Use PAM no 取消注释no改成yes)
 

重启服务重连
 
systemctl restart sshd

  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EasySkills 易技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值