事情是这样的:公司的阿里云服务器被说有漏洞需要修复--查看说漏洞大多都是OpenSSL 和OpenSSH的,想到版本比较低就升级他两不就行了吗?
结果更新升级发现 app-stream均无法成功,原因centos已经停了维护,各种镜像均已不再维护了。 第一步修改为阿里云镜像
entOS8现已可使用国内的aliyun阿里云镜像站,方法如下: 用cd命令切换到yum.repos目录,备份原始的3个repo文件:
cd /etc/yum.repos.d/ sudo cp CentOS-AppStream.repo CentOS-AppStream.repo.bak sudo cp CentOS-Base.repo CentOS-Base.repo.bak sudo cp CentOS-Extras.repo CentOS-Extras.repo.bak
编辑上面3个repo文件,在mirrorlist前加个#,并把baseurl前的#去掉。
baseurl里的 mirror.centos.org/$contentdir 修改为 mirrors.aliyun.com/centos 即可。
以CentOS-AppStream.repo为例,其他两个文件同理。
修改前:
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/AppStream/$basearch/os/
修改后:
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
baseurl=http://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/
sudo nano CentOS-AppStream.repo
修改完成后运行 sudo yum update 正常更新。
然后就是更新两个软件了
备份现有配置
cp -rf /etc/ssh /etc/ssh.bak cp -rf /usr/bin/openssl /usr/bin/openssl.bak cp -rf /etc/pam.d /etc/pam.d.bak cp -rf /usr/lib/systemd/system /system.bak
安装依赖
yum -y install gcc pam-devel zlib-devel openssl-devel net-tools
下载源码包并解压和安装
cd /opt/ wget https://www.openssl.org/source/openssl-3.3.1.tar.gz wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p1.tar.gz //解压 tar -zxvf openssl-3.3.1.tar.gz tar -zxvf openssh-9.9p1.tar.gzp //安装SSL #1.进入openssl-3.3.1目录 cd /opt/openssl-3.3.1 #2.配置 ./config --prefix=/usr/local/src/openssl #3.编译及安装(编译时间预计几分钟,视机器而定) make -j 4 && make install
#4.配置 mv /usr/bin/openssl /usr/bin/oldopenssl ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3 ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3 #5.更新动态库 echo "/usr/local/src/openssl/lib64" >> /etc/ld.so.conf ldconfig #6.查看更新后的版本 openssl version -v
安装OpenSSH
#1.卸载openssh7.4p1 yum remove -y openssh #2.清理残余文件 rm -rf /etc/ssh/* #安装最新版Openssh服务 #1.进入openssh-9.9p1目录 cd /opt/openssh-9.9p1 #2.配置 ./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl #3.编译及安装 make -j 4 && make install #4.查看目录版本 /usr/local/src/ssh/bin/ssh -V #5.复制新ssh文件 cp -rf /opt/openssh-9.9p1/contrib/redhat/sshd.init /etc/init.d/sshd cp -rf /opt/openssh-9.9p1/contrib/redhat/sshd.pam /etc/pam.d/sshd cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen #6.允许root登录 echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config #重启sshd服务 /etc/init.d/sshd restart #查看服务运行状态 /etc/init.d/sshd status #添加开机启动 chkconfig --add sshd #查看升级后ssh版本 ssh -V
标签:sshd,Centos,OpenSSH,openssl,OpenSSL,repo,etc,ssh,usr From: https://www.cnblogs.com/stweily/p/18609539