根据传入密钥类型限制对 SSH 服务器的访问

根据传入密钥类型限制对 SSH 服务器的访问

我在本地实验室运行 ubuntu 18.04.3 服务器 HWE 版本,在阅读手册时,我遇到了一个问题,即我无法确定如何排除用户通过 ssh 连接到我的服务器,这些用户不使用使用创建的密钥ed25519 算法。

我知道我可以配置 sshd 来拒绝特定密码,但我找不到有关限制使用特定算法的密钥的信息。

到目前为止,我基本上删除了所有不是 ed25519 的主机密钥,并将续订限制为仅 ed25519,但这显然无法实现我想要的用户端。

提前致谢。

答案1

这不是受支持的配置选项。要仅允许 ed25519 用户密钥,您需要避免sshd发行版的包管理器提供的密钥,并从OpenSSH 便携式源码

支持的密钥类型列表struct keytype keytypes[]定义在sshkey.c。除 ed25519 之外的所有内容都将被undefingWITH_OPENSSL和排除WITH_XMSS

快速测试表明这可以满足您的要求;sshd如果没有更多的测试和深入研究代码的相关部分,我不会在生产系统上运行这样的修改。

相关内容