我的目标是允许给定的 Active Directory 组成员在 chroot 中使用 OpenSSH SFTP,并拒绝他们和所有其他不属于该组成员的 SSH 访问,同时仍然允许本地(非 AD)系统帐户。
我已经配置sshd_config
为使用 Kerberos 来获取 Active Directory 信息,并且该部分已经在工作。
问题是:虽然它适用于我希望授予访问权限的组(允许 sftp,拒绝 ssh),但所有其他 AD 帐户都可以打开 SSH shell 和非 chroot SFTP,这当然是不希望的。
总结一下,我需要:
- 授予对 Active Directory 组的 chroot'ed SFTP 访问权限;拒绝他们的 SSH。
- 拒绝该组的非成员的 SFTP 和 SSH。
- 保留对本地系统帐户的访问权限。
我正在使用带有 OpenSSH_8.3p1 的 Fedora 32,我的配置如下(未注释掉的行)。
/etc/ssh/sshd_config:
Include /etc/ssh/sshd_config.d/*.conf
HostbasedAuthentication no
KerberosAuthentication yes
Subsystem sftp internal-sftp
Match Group sftp_users
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
PermitTTY no
/etc/ssh/sshd_config.d/50-redhat.conf:
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
PrintMotd no
提前致谢!