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
相关推荐
AlfredZhao10 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346616 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪17 小时前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈1 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
凡人叶枫2 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
2601_961875242 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant