文章目录
- 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