限制一组用户的 SSH 命令

doq*_*que 5 linux ssh user-management

我正在尝试建立一个环境,其中某个组中的许多用户可以通过 SSH 连接到服务器,然后使用密钥交换或密码在服务器上执行一组预定义的命令。到目前为止,我被告知要查看authorized_keys“命令”部分,但据我所知,这仅对非人类用户有用。

有没有办法将某个用户组的多个命令列入黑名单或白名单?

例如,X 组中的用户应该能够ls/etc/init.drm,但不能执行其他操作。

小智 3

您需要使用您选择的脚本语言创建一个受限命令 shell,然后设置 sshd 以强制您指定的组使用此受限 shell。

示例 8-1 和O'Reilly 的 SSH(安全外壳)第 8 章的其他以下部分显示了实现前者的方法。

对于后者,请参阅Match中的指令描述sshd_config(5)

例如,您可以将以下内容添加到/etc/ssh/sshd_config

Match Group X
ForceCommand /path/to/your/restricted_shell
Run Code Online (Sandbox Code Playgroud)