SSH 常用配置和错误解决办法

2025-04-08 19:05:00
丁国栋
原创 46
摘要:本文记录SSH常用的配置和错误解决办法,以便快速查询。

前言:很多问题AI都能轻松的解决,作为AI的使用者,我们需要学会发现问题的关键并精准地提问问题,否则AI只会泛泛而谈。不过当我们毫无头绪时你也可以直接把问题抛给AI,AI可能会提供一定的思路最终解决问题,但花费的时间显然比前者更多。

常用配置

可以使用 man 5 sshd_config 命令查阅帮助。

Port 22 指定端口号,默认22,建议修改为其他不常见数字,范围1024~65534

PermitRootLogin yes|no 是否允许root用户登陆,建议不允许,除非需要

PrintMotd no|yes 是否打印motd信息

UseDNS no|yes 是否使用DNS查询验证客户端的主机名和IP地址是否一致,建议不使用

PasswordAuthentication yes|no 是否允许密码验证,建议不使用

KbdInteractiveAuthentication no|yes 是否启用键盘交互式认证,如果有多因子认证建议启用

最佳实践:

  1. 通常在 /etc/ssh/sshd_config 中有一段 Include /etc/ssh/sshd_config.d/*.conf 的配置,因此可以把部分自定义的选项放到 /etc/ssh/sshd_config.d/user.conf 中。
  2. 建议使用Ed25519和RSA SHA256以上的格式的SSH公钥。

性能优化

  1. 设置 UseDNS no
  2. 设置 GSSAPIAuthentication no

常见错误和解决方案

错误1:客户端SSH连接服务端提示“Permission denied (publickey)”,服务端ssh日志(/var/log/auth.log)提示“sshd[605850]: userauth_pubkey: signature algorithm ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]”

解决方法:编辑服务端 vim /etc/ssh/sshd_config 文件,添加 PubkeyAcceptedAlgorithms +ssh-rsa 配置,systemctl restart ssh.service 重启 SSH 服务。建议尽快切换到 rsa-sha2-512 或者其他加密算法。

--

发表评论
博客分类