我想限制服务器上的所有用户只能使用 SFTP,而管理员组的成员应该具有完全的 SSH 访问权限。
我发现可以通过使用Match Group和来限制组的成员ForceCommand。但我发现没有逻辑否定。所以我试图反向构造它:
# SFTP only, full access only for admin group
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Match Group admin
X11Forwarding yes
AllowTcpForwarding yes
ForceCommand /usr/local/sbin/ssh-allowcmd.sh
Run Code Online (Sandbox Code Playgroud)
并构建了一个脚本ssh-allowcmd.sh来执行给定的命令或/bin/bash进行交互式访问。
有更好的解决方案吗?