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
相关推荐
加载中loading...16 分钟前
Linux线程安全(二)条件变量实现线程同步
linux·运维·服务器·c语言·1024程序员节
well_fly3 小时前
Ubuntu特殊目录
linux·ubuntu
大熊程序猿3 小时前
ubuntu 安装k3s
linux·运维·ubuntu
luoqice3 小时前
CentOS 自启动某个应用
linux·运维·服务器
泠山3 小时前
ubuntu增加swap交换空间
linux·运维·ubuntu
hero_th4 小时前
[Ubuntu] 文件/目录权限更改
linux·ubuntu
花花少年4 小时前
pip在ubuntu下换源
linux·ubuntu·pip
y0ungsheep5 小时前
[GXYCTF 2019]Ping Ping Ping 题解(多种解题方式)
linux·web安全·网络安全·php
海绵波波1075 小时前
Webserver(1.6)Linux系统IO函数
linux·运维·服务器