1. 前言
为应付等保2.0,服务器漏洞软件升级
借鉴自此文链接,它是SSH7.4升级到8.3版本,看完后我搞了搞,升级到了当前(2022-02-23)最新的Openssh8.8版本
yum更新源后只能升级到7.4,所以这里直接采用源码编译安装了
我这边操作系统版本是:
Alibaba Cloud Linux (Aliyun Linux) release 2.1903 LTS (Hunting Beagle)
在老服务器上试了下,也适用于
CentOS Linux release 7.8.2003 (Core)
2. 正文
-
配置备用连接方式telnet,以防止配置失败不能连接服务器
-
安装相关依赖库
yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pam-devel libselinux-devel
-
查看最新包版本,下载路径
openssh下载列表
拉到最底,看到最新版本号是9.0
-
下载openssh的源码包
wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
-
备份一下原文件:
mkdir /opt/sshbak && mv /etc/ssh/* /opt/sshbak/
-
创建新的安装目录
mkdir /usr/local/sshd
-
解压源码包,进行编译安装
tar xf openssh-9.0p1.tar.gz -C /usr/local/src/ && cd /usr/local/src/openssh-9.0p1/ ./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/usr/local/sshd/ --sysconfdir=/etc/ssh && make -j4 && make install
-
编译完成后修改配置文件
echo " # 允许root用户远程登录 PermitRootLogin yes # 允许使用公钥认证改:(去掉注释即可) PubkeyAuthentication yes # 禁止空密码登录 PermitEmptyPasswords no # 去掉注释即可,此处是优化项如果使用DNS解析速度会很慢 UseDNS no " >> /etc/ssh/sshd_config 这里我是直接 vi /etc/ssh/sshd_config 配置一下两个属性 1. 把 22端口注释放开 2. 允许root用户远程登录 PermitRootLogin yes
-
添加开机启动
systemctl enable sshd systemctl restart sshd 重启服务不生效的话,可以尝试 reboot 重启机子试试
-
查看结果
重新连接服务器后,查看Openssh版本 # 查看ssh版本命令 ssh -V
-
升级后遗症
升级后服务器上无法拉取git代码添加如下配置,保存后git恢复正常
vi ~/.ssh/config Host * HostKeyAlgorithms ssh-rsa,ssh-dss PubkeyAcceptedKeyTypes ssh-rsa,ssh-dss