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
相关推荐
小林熬夜学编程4 分钟前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
炫彩@之星7 分钟前
Windows和Linux安全配置和加固
linux·windows·安全·系统安全配置和加固
hhhhhhh_hhhhhh_18 分钟前
ubuntu18.04连接不上网络问题
linux·运维·ubuntu
冷心笑看丽美人25 分钟前
探秘 DNS 服务器:揭开域名解析的神秘面纱
linux·运维·服务器·dns
冬天vs不冷2 小时前
Linux用户与权限管理详解
linux·运维·chrome
凯子坚持 c2 小时前
深入Linux权限体系:守护系统安全的第一道防线
linux·运维·系统安全
✿ ༺ ོIT技术༻2 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++
watermelonoops5 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
疯狂飙车的蜗牛6 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
远游客07139 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos