处理一起堡垒机不支持新版本Linux的问题
由于redhat9系列和openssh版本高,安全系数高,导致堡垒机不支持这么新的加密算法,解决方法如下
本次解决操作系统的版本是Rocky Linux release 9.4 (Blue Onyx)
1、在/etc/ssh/sshd_config.d/目录下创建99-compat.conf文件,内容为:
vi /etc/ssh/sshd_config.d/99-compat.conf
KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Ciphers +aes128-cbc,aes192-cbc,aes256-cbc
MACs +hmac-sha1,hmac-md5
2、执行update-crypto-policies --set LEGACY命令,使得操作系统支持老算法(在50-redhat.conf文件中写了)
3、重启SSHD服务即可systemctl restart sshd
或执行如下的脚本
#!/bin/bash
set -e
echo"=== SSH 兼容性修复脚本(用于堡垒机旧算法支持)==="
# 检查当前加密策略
current_policy=$(update-crypto-policies --show)
echo"当前系统加密策略: $current_policy"
# 如果不是 LEGACY,则修改为 LEGACY
if [[ "$current_policy" != "LEGACY" ]]; then
echo"设置系统加密策略为 LEGACY..."
update-crypto-policies --set LEGACY
echo"加密策略已设置为 LEGACY"
else
echo"系统加密策略已为 LEGACY,无需修改"
fi
# 写入兼容算法配置文件
COMPAT_FILE="/etc/ssh/sshd_config.d/99-compat.conf"
echo"写入兼容算法配置到 $COMPAT_FILE"
cat > "$COMPAT_FILE" <<EOF
# 兼容 OpenSSH 7.x 和旧版本堡垒机算法配置
KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Ciphers +aes128-cbc,aes192-cbc,aes256-cbc
MACs +hmac-sha1,hmac-md5
EOF
# 检查配置语法是否正确
echo"检查 sshd 配置语法..."
sshd -t && echo"配置语法无误 ✅"
# 重启 sshd
echo"重启 sshd 服务..."
systemctl restart sshd
echo"sshd 重启完成 ✅"
# 验证关键算法是否生效
echo"验证算法是否生效..."
sshd -T | grep -E 'group1|cbc|ssh-rsa|md5' || echo"❌ 兼容算法未生效,请检查"
echo"✅ 修复完成。请从堡垒机测试登录 Rocky Linux 系统。"
赋予脚本可执行权限
chmod +x fix_ssh_compat.sh
执行脚本
sudo ./fix_ssh_compat.sh