无网环境centos7.x版本openssh离线升级8.2版本
你好! 本篇文章背景依据机房测评整改,根据相关整改报告,需要将openssh相应漏洞进行修复(存在漏洞版本为openssh 6.x),由于机房无法连接互联网,在升级上增加了很多困难,在经过大量测试后终于成功升级完成。现将升级方法总结后写下,感谢大家支持,现将方法分享给大家。
!!!!!!!!!注意centos 7.x版本与centos6.x版本略有不同注意区分。
一、升级tar压缩包
- zlib-1.2.8.tar.gz
下载链接:http://www.zlib.net/zlib-1.2.11.tar.gz - openssl-1.1.1h.tar.gz
下载链接:https://www.openssl.org/source/openssl-1.1.1g.tar.gz - openssh-8.2p1.tar.gz
下载链接:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz
二、rpm依赖包
这里把所需要得依赖包以图片形式呈现给大家,可根据包名称在下载链接中搜索去下载
三、安装步骤
3.1 将升级所需得rpm包及tar包上传到服务器/tmp目录下(可依据个人喜好随便一个目录即可)
这里交大家一个小技巧,如果在机房可以使用U盘将安装包挂载到服务器上,首先将U盘格式化为FAT32,再将U盘插入服务器挂载到系统上命令如下:
mount -t vfat /dev/sdb /mnt/ssh (磁盘名和挂载路径需自己查看)
3.2 安装rpm依赖包
进入到上传依赖包得目录执行以下命令
rpm -ivh *.rpm --nodeps --force
3.3 安装openssh
直接安装即可,无需提前卸载。
这里为了防止升级失败可以提前把ssh备份
cp -r etc/ssh /etc/ssh_1
cp /etc/init.d/sshd /etc/init.d/sshd_1
3.3.1第一步安装zlib
- 解压
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11 - 配置
./configure - 编译安装
make && make install
3.3.2 安装openssl
- 解压
tar -zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g - 配置
./config - 编译安装
make && make install - 设置软连接(!!!这步非常重要,若未执行安装openssh将报错)
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 - 查看openssl版本
openssl -version
3.3.3 安装openssh
- 解压
tar -zxvf openssh-8.2p1.tar.gz
cd openssh-8.2p1 - 配置
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-ssl-dir=/usr/local/ssl --without-hardening - 编译安装
make && make install - 修改配置文件
cp contrib/redhat/sshd.init /etc/init.d/sshd(该配置文件路径在解压后的openssh目录下)
vim /etc/ssh/sshd_config 修改 ,将注释去掉(8.2版本默认是不支持root远程登录)
PermitRootLogin yes
PasswordAuthentication yes
…………………………………………………………
添加权限,chmod u+x /etc/init.d/sshd - 添加到开机启动项
chkconfig --add sshd
chkconfig sshd on - 重启ssh服务
systemctl restart sshd - 确认升级后的SSH版本
ssh -V 若为最新版本则升级成功。
四、远程连接测试
若连接过程中报下面图片中得错误则需要修改配置文件。
vim /etc/ssh/sshd_config
在配置文件最后一行追加:
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1
重启ssh服务即可解决
五、centos6.x 版本所需要得依赖及tar包需要更改,将在后期为大家更新,尽请期待!!!