新手禁用不安全ssh算法需先运行ssh -q cipher/mac/kex确认当前支持算法,再在sshd_config中顶格覆盖ciphers、macs、kexalgorithms三行推荐值,同时设置protocol 2、禁用rsa主机密钥、关闭passwordauthentication与permitrootlogin,最后用sshd -t验证并systemctl reload sshd。

新手禁用不安全 SSH 加密算法,核心是改对三处:加密(Ciphers)、认证(MACs)、密钥交换(KexAlgorithms),再配合协议版本和主机密钥升级。操作不难,但顺序和细节容易出错,导致连接中断。
先确认当前支持哪些算法
别急着改配置,先看服务器实际能用什么:
- 运行 ssh -Q cipher 查看所有可用加密算法,重点关注含 cbc、arcfour、3des、blowfish 的条目——这些都该禁用
- 运行 ssh -Q mac 查 MAC 算法,避开带 md5、sha1 且无 etm@openssh.com 后缀的
- 运行 ssh -Q kex 查密钥交换,过滤掉 group1-sha1、group14-sha1 这类弱算法
修改 /etc/ssh/sshd_config 的关键三行
用 root 权限编辑配置文件(如 nano /etc/ssh/sshd_config),在文件末尾添加或替换以下三行(注意:不要保留旧的 Ciphers/MACs/KexAlgorithms 行,直接覆盖):
-
Ciphers:推荐写成
chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr -
MACs:推荐写成
hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com -
KexAlgorithms:推荐写成
curve25519-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256
每行必须顶格写,逗号后不加空格,整行不能换行。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
顺手加固其他高风险项
这几项虽不直接属于“加密算法”,但和安全强相关,新手常忽略:
- 确保只用 SSHv2:Protocol 2(删掉或注释掉所有含 Protocol 1 的行)
- 禁用老旧主机密钥:删除或注释掉 HostKey /etc/ssh/ssh_host_rsa_key 这类 RSA 行,改用 Ed25519 或 ECDSA(可后续生成)
- 关闭密码登录(若已配好密钥):PasswordAuthentication no
- 禁止 root 直接登录:PermitRootLogin no
保存后务必验证再重启
改完别直接重启 sshd,先做两步检查:
- 语法检测:sudo sshd -t —— 没输出即通过;有报错就按提示修正
- 重载而非重启:sudo systemctl reload sshd(比 restart 更安全,避免断连)
- 新开一个终端测试连接:ssh -vv user@localhost,在日志里找 cipher: 和 kex: 行,确认用的是你指定的算法
如果连不上,立刻用原终端回滚配置(提前备份过:cp /etc/ssh/sshd_config.bak_$(date +%Y%m%d) /etc/ssh/sshd_config)










