SSH 常用配置和错误解决办法
- 2025-04-08 19:05:00
- 丁国栋
- 原创 46
前言:很多问题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 是否启用键盘交互式认证,如果有多因子认证建议启用
最佳实践:
- 通常在 /etc/ssh/sshd_config 中有一段 Include /etc/ssh/sshd_config.d/*.conf 的配置,因此可以把部分自定义的选项放到 /etc/ssh/sshd_config.d/user.conf 中。
- 建议使用Ed25519和RSA SHA256以上的格式的SSH公钥。
性能优化
- 设置 UseDNS no
- 设置 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 或者其他加密算法。
--
发表评论