sshd_config 与 authorized_keys 命令参数

sshd_config 与 authorized_keys 命令参数

背景:我向我的 Web 服务器添加了 OTP 令牌身份验证。我/etc/ssh/sshd_config使用ForceCommand /token/script命令修改了文件。

问题:我有一个本地 Jenkins 实例连接到 Web 服务器进行部署;Jenkins 无法输入令牌信息或接听电话(虽然谁知道,我敢打赌甚至有一个插件可以做到这一点!)。

可能的解决方案:使用~/user/authorized_keys命令参数强制在所有密钥上执行令牌脚本,除了 jenkins 正在使用的密钥之外。

问题:与全局 sshd_config 方法相比,authorized_keys 方法的安全性如何?您认为这是一种可以接受的权衡吗?有没有更好的解决方案(允许 Jenkins 进行从属部署,同时让其他所有人都使用令牌身份验证锁定?)。

我尝试了这两种方法,效果都很好。从部署的角度来看,我发现第二种方法更实用,但它给我带来了一些内部危险信号。我不知道我是不是在追逐幽灵(带着危险信号)。讨论一下!

答案1

使用Match命令sshd_config对用户应用jenkins不同于其他用户的规则:

  • 匹配:引入条件块。如果 Match 行上的所有条件都得到满足,则后续行上的关键字将覆盖配置文件全局部分中设置的关键字,直到出现另一个 Match 行或文件末尾。

请参阅sshd_config手册页以获取完整文档。

相关内容