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
相关推荐
内核程序员kevin2 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ7 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream7 小时前
Linux的桌面
linux
xiaozhiwise7 小时前
Makefile 之 自动化变量
linux
意疏10 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu10 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿10 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
我的K840911 小时前
Flink整合Hudi及使用
linux·服务器·flink
19004311 小时前
linux6:常见命令介绍
linux·运维·服务器