CentOS6升级OpenSSH9.2和OpenSSL3

文章目录

  • 1.说明
  • 2.下载地址
  • 3.升级OpenSSL
  • [4.安装telnet 服务](#4.安装telnet 服务)
    • [4.1.安装 telnet 服务](#4.1.安装 telnet 服务)
    • [4.2 关闭防火墙](#4.2 关闭防火墙)
    • [4.2.使用 telnet 连接](#4.2.使用 telnet 连接)
  • 5.升级OpenSSH
    • 5.1.安装相关命令依赖
    • [5.2.备份原 ssh 配置](#5.2.备份原 ssh 配置)
    • [5.3.卸载原有的 OpenSSH](#5.3.卸载原有的 OpenSSH)
    • [5.4.安装 OpenSSH](#5.4.安装 OpenSSH)
    • [5.5.修改 ssh 配置文件](#5.5.修改 ssh 配置文件)
    • [5.6关闭 selinux](#5.6关闭 selinux)
    • [5.7.重启 OpenSSH](#5.7.重启 OpenSSH)

1.说明

CentOS6 自带的 OpenSSH 版本漏扫出很多高风险漏洞,预采用升级处理(升至 OpenSSH_9.2p1),而升级 OpenSSH 需先升级 OpenSSL(国际标准的加密及身份认证通信协议)。

官方参考

https://www.openssh.com/releasenotes.html#9.2

bash 复制代码
OpenSSH 9.2: February 2, 2023
https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-9.2.tar.gz

# cd /usr/src/usr.bin
# tar zxvf .../openssh-9.2.tar.gz
# cd ssh
# make obj
# make cleandir
# make depend
# make
# make install
# cp ssh_config sshd_config /etc/ssh # (optional)
and restart sshd.

2.下载地址

这里使用 2023-02-02 发行的openssh版本。

OpenSSH下载地址:

https://www.openssh.com/releasenotes.html#9.2

http://www.openssh.com/openbsd.html

https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-9.2.tar.gz

OpenSSL下载地址:https://www.openssl.org/source/

https://www.openssl.org/source/openssl-3.0.8.tar.gz

3.升级OpenSSL

bash 复制代码
# 下载
wget https://www.openssl.org/source/openssl-3.0.8.tar.gz

# 解压缩
tar -zxvf openssl-3.0.8.tar.gz
# 配置
cd openssl-3.0.8
./config --prefix=/usr/ --openssldir=/usr/ shared

# 编译安装,需要一些时间 
make && make install

# 查看升级后的版本
openssl version -a

4.安装telnet 服务

先安装 telnet 防止 openssh 升级错误远程登录不了。

离线下载

https://www.rpmfind.net/linux/rpm2html/search.php?query=telnet\&submit=Search+...

4.1.安装 telnet 服务

这里安装直接使用本地源安装就可以了

bash 复制代码
yum -y install telnet-server 

4.2 关闭防火墙

bash 复制代码
service iptables stop

4.2.使用 telnet 连接

1.启动telent服务

bash 复制代码
#启动 telnet 服务
service telnet start

# 开机启动
chkconfig telnet on

2.添加pts终端入口

如果要使用root用户登录,也是需要在/etc/securetty文件中添加pts终端入口的(pts/0代表登陆的终端第一个,pts/1代表第二个)

vim /etc/securetty

bash 复制代码
pts/0
pts/1

若 ssh 中断可采用 telnet 进行远程控制,进行处理 ssh 升级

bash 复制代码
telnet [服务器 ip]

5.升级OpenSSH

5.1.安装相关命令依赖

bash 复制代码
yum install -y pam* zlib*
或者
yum install -y gcc openssl-devel zlib-devel gcc gcc-c++ glibc

5.2.备份原 ssh 配置

bash 复制代码
mv /etc/ssh /etc/ssh_bak

5.3.卸载原有的 OpenSSH

可以先不执行卸载操作,先安装试试,如果不能安装,再尝试卸载后再安装。

bash 复制代码
#查看安装的 ssh
rpm -qa | grep openssh
#卸载 rpm 安装的 ssh
yum remove openssh*

或
rpm -e $(rpm -qa | grep openssh)

5.4.安装 OpenSSH

bash 复制代码
#上传安装包到/tmp/openssh-9.2.tar.gz

# 进入目录
cd /tmp

#解压缩
tar -xzvf openssh-9.2.tar.gz

#配置
cd openssh-9.2
./configure --with-zlib --with-ssl-dir --with-pam \
--bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh

#编译安装
make && make install
cp contrib/redhat/sshd.init /etc/init.d/sshd

# 启动服务
/etc/init.d/sshd start

#查看升级后的 ssh 版本
ssh -V

5.5.修改 ssh 配置文件

默认 ssh 不允许 root 登录系统,如果想要 root 登录需要修改 ssh 配置文件,将#PermitRootLogin prohibit-password 参数改成 PermitRootLogin yes并取消注释,开启 root 权限登录。

使用vim打开修改/etc/ssh/sshd_config文件

复制代码
PermitRootLogin yes

不然就无法使用root登录了。

5.6关闭 selinux

bash 复制代码
#修改 selinux 配置参数,永久关闭 selinux(重启后生效),也可vi /etc/selinux/config 手动修改
sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#临时关闭 selinux(使当前系统立即生效)
setenforce 0

#查看状态
getenforce

5.7.重启 OpenSSH

bash 复制代码
#重启 OpenSSH
service sshd restart

#添加到自启动
chkconfig --add sshd
相关推荐
JiMoKuangXiangQu4 小时前
ARM64 进程虚拟地址空间布局
linux·arm64 虚拟地址布局
阳光九叶草LXGZXJ5 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
春日见5 小时前
如何避免代码冲突,拉取分支
linux·人工智能·算法·机器学习·自动驾驶
无垠的广袤6 小时前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:缺陷检测
linux·人工智能·python·opencv·开发板
阿波罗尼亚6 小时前
Kubectl 命令记录
linux·运维·服务器
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.6 小时前
Keepalived单播模式配置与实战指南
linux·服务器·负载均衡
IDC02_FEIYA6 小时前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器
江畔何人初6 小时前
kubectl apply与kubectl create的区别
linux·运维·云原生
M158227690557 小时前
四通道全能组网!SG-Canet-410 CAN转以太网网关,破解工业CAN通信瓶颈
linux·运维·服务器
誰能久伴不乏7 小时前
【Qt实战】工业级多线程串口通信:从底层协议设计到完美收发闭环
linux·c++·qt