最烦做等保了!!!! 有没有同感的?
修复过程记录一下,为什么要记录呢,等保漏洞每次都是那些,我一直没有进行文档记录,导致我每次都要百度搜索解决。
查看当前服务器openssh的版本
#当前系统版本
cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
ssh -v
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
预处理防止升级过程中连接中断,由于telnet是明文传输,不安全,所以升级完成后,必须停止该服务
一定要先安装telnet服务,确保能连接后,在开始操作。否则再也连不上了,亲身经历,血的教训!
#安装telnet服务
yum -y install telnet-server
#启动telnet服务
systemctl start telnet.socket
#开启防火墙23端口
firewall-cmd --permanent --add-port=23/tcp --zone=public
firewall-cmd --reload
#windows打开cmd窗口,telnet即可登陆服务器
telnet [服务器ip]
#默认情况下,linux不允许root用户以telnet方式登录linux主机,移除securetty文件
mv /etc/securetty /etc/securetty.bak
#之后就可以用root登录
将openssl-1.1.1g.tar.gz,openssh-8.4p1.tar.gz 两个安装包下载到本地
#!/bin/bash
#安装包下载
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz --no-check-certificate
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz --no-check-certificate
#卸载当前openssh服务
rpm -e openssh --nodeps
rpm -e openssh-clients --nodeps
rpm -e openssh-server --nodeps
#查看是否卸载干净
rpm -qa |grep openssh
#安装依赖
yum install -y pam* zlib* gcc make pam-devel openssl-devel zlib-devel
#备份ssh目录
mv /etc/ssh /etc/ssh_bak
#进入/tmp 目录操作安装openssh
cd /tmp
#编译安装openssl
tar -xzvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr/ --openssldir=/usr/ shared
make && make install
#完成后看下openssl版本
openssl version
#编译安装openssh
tar -xzvf openssh-8.4p1.tar.gz
cd openssh-8.4p1
./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
#完成后看下ssh版本,版本已更新!
ssh -V
OpenSSH_8.4p1, OpenSSL 1.1.1g 21 Apr 2020
nohup service sshd restart
nohup systemctl restart sshd
chkconfig --add sshd
修改配置服务器才可以root登录
vim /etc/ssh/sshd_config
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
#重启sshd
systemctl restart sshd
修复总结:
此次编译安装openssh中遇到的报错:
1、缺少pam-devel
报错: configure: error: PAM headers not found
解决:yum install pam-devel
2、重启sshd失败
报错:
Permissions 0640 for '/etc/ssh/ssh_host_rsa_key' are too open.
Permissions 0640 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
Permissions 0640 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
解决:
chmod 0600 /etc/ssh/ssh_host_rsa_key
chmod 0600 /etc/ssh/ssh_host_ecdsa_key
chmod 0600 /etc/ssh/ssh_host_ed25519_key
# 再重启sshd服务
systemctl restart sshd
3、#####注意: 最后一定要记得关闭telnet服务,并且,还原配置文件
mv /etc/securetty.back /etc/securetty
systemctl stop telnet.socket