Centos7升级openssh
作者:飞哥
最近客户进行漏扫,服务器发现了几个openssh漏洞,把此次升级步骤全称记录下。
1.查看当前Centos7版本和openssh版本。
cat /etc/redhat-release
CentOS7.8版本
ssh -V
openssh版本为OpenSSH_7.4p1, OpenSSL 1.0.2k-fips
2.下载openssh最新版本
官网地址为:openssh官网下载地址
下载最新版本为 openssh-8.6p1.tar.gz
3.服务器配置本地yum源
下载iso镜像,做本地yum源
镜像地址:
https://mirrors.aliyun.com/centos-vault/7.8.2003/isos/x86_64/
配置本地yum源地址:
http://www.gongstring.com/1257929251108208642.html
4.安装telnet用于远程连接(因为ssh需要停止)
# telnet依赖于xinetd
yum install xinetd telnet-server -y
# 编辑追加pts/0 pts/1 pts/2 pts/3
echo -e "pts/0\npts/1\npts/2\npts/3" >> /etc/securetty
# telnet服务 开机运行 和 启动
systemctl enable xinetd
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd
#开放telnetlian连接linux的23端口
#添加对外开放端口
firewall-cmd --permanent --add-port=23/tcp
#重启防火墙
firewall-cmd --reload
5.cmd连接linux
telnet 10.20.61.24
输入用户名密码登录
6.卸载旧版ssh,安装新版
# 停止服务
service sshd stop
# 卸载旧版
rpm -e `rpm -qa | grep openssh` --nodeps
# 移除旧的密钥文件等
# 失败了还可以安装回来旧版yum install -y openssh-server openssh-clients
rm -rf /etc/ssh/*
7.安装新版
#安装依赖
yum -y install gcc pam-devel zlib-devel openssl-devel
#解压下载好的openssh压缩包
tar -zxvf openssh-8.6p1.tar.gz
#赋予权限
chown -R 777 openssh-8.6p1
#编译
cd openssh-8.6p1
#编译
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam
#安装
make && make install
#复制文件并更改权限
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
#允许root用户远程登录>>添加(或取消注释并修改)
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
#设置ssh开机启动并启动服务
chkconfig --add sshd
chkconfig sshd on
service sshd start
#重新连接ssh查看版本
ssh -V
#版本为OpenSSH_8.6p1, OpenSSL 1.0.2k-fips 26 Jan 2017
#卸载telent连接,关闭23端口
systemctl disable xinetd.service
systemctl stop xinetd.service
systemctl disable telnet.socket
systemctl stop telnet.socket
rpm -e `rpm -qa | grep telnet` --nodeps
rpm -e `rpm -qa | grep xinetd` --nodeps
firewall-cmd --permanent --zone=public --remove-port=23/tcp
firewall-cmd --reload