需禁用SSH弱加密算法并更换主机密钥:一、修改/etc/ssh/sshd_config,配置强Ciphers、MACs、KexAlgorithms;二、生成Ed25519/ECDSA密钥,删除SSH-RSA HostKey;三、重启sshd并用ssh -Q命令验证算法列表。

如果您在宝塔面板部署完成后,发现服务器SSH服务仍启用不安全的弱加密算法(如arcfour、cbc模式密码套件、ssh-rsa主机密钥等),则可能面临中间人攻击或协议降级风险。以下是禁用这些不安全SSH加密算法的具体操作步骤:
一、修改SSH服务配置文件
通过编辑OpenSSH主配置文件,显式禁用已知存在安全隐患的加密算法、MAC算法和密钥交换算法,强制使用现代强加密标准。
1、使用宝塔面板的文件管理器或SSH终端,以root权限打开SSH主配置文件:/etc/ssh/sshd_config。
2、在文件末尾新增以下三行配置(若已有同类参数,请覆盖原值):
3、Ciphers aes256-gcm@openssh.com,aes128-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr。
4、MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com。
5、KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256。
6、保存文件并退出编辑器。
二、禁用SSH-RSA主机密钥并启用ECDSA/Ed25519
SSH-RSA(SHA-1签名)已被OpenSSH 8.8+默认禁用,继续使用将导致客户端连接失败;必须切换为ECDSA或Ed25519等抗碰撞更强的主机密钥类型。
1、执行命令生成新的Ed25519主机密钥:ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""。
2、执行命令生成新的ECDSA P-256主机密钥:ssh-keygen -t ecdsa -b 256 -f /etc/ssh/ssh_host_ecdsa_key -N ""。
3、编辑/etc/ssh/sshd_config,定位到HostKey指令行,确保仅保留以下两行(删除所有含rsa的HostKey行):
4、HostKey /etc/ssh/ssh_host_ed25519_key。
5、HostKey /etc/ssh/ssh_host_ecdsa_key。
三、重启SSH服务并验证配置有效性
重启sshd服务使新配置生效,并立即检测是否成功屏蔽弱算法,防止配置错误导致SSH连接中断。
1、执行命令重载SSH配置:systemctl reload sshd(CentOS 7+/Ubuntu 16.04+)或service ssh restart(Debian 9/Ubuntu 14.04)。
2、在本地终端运行测试命令,检查服务端支持的密钥交换算法:ssh -Q kex server_ip,确认输出中不含diffie-hellman-group1-sha1、diffie-hellman-group14-sha1等弱算法。
3、运行命令验证加密套件:ssh -Q cipher server_ip,确保arcfour、3des-cbc、aes128-cbc等CBC模式及流式弱密钥未出现在结果中。
4、运行命令验证MAC算法:ssh -Q mac server_ip,确认hmac-md5、hmac-sha1、hmac-ripemd160等已不可用。









