그래서 SFTP 서버로 사용하기 위해 특별히 CentOS 7 서버를 구축하고 있습니다.
가상 머신을 마이그레이션하고 SFTP 서버를 재구축하는 중입니다. 따라서 이 가상 머신의 SFTP 서버에 액세스하는 데 사용하려는 ftpusers라는 Active Directory 보안 그룹이 이미 있습니다. 그러나 우리는 이러한 사용자가 AD 보안 그룹 LinuxAdmins에 속하지 않는 한 SSH를 통해 가상 머신에 연결하는 것을 허용하지 않기를 바랍니다. 그래서 나에게 필요한 것은 ftpusers 그룹의 구성원이 SFTP 측만 사용하고 SSH는 사용하지 않도록 하는 방법입니다. 내가 찾을 수 있는 모든 문서에는 로컬 사용자를 위해 이 작업을 수행하는 방법이 설명되어 있지만 이미 액세스 권한이 있고 새 Linux 서버에 수동으로 설정하고 싶지 않은 사용자가 1000명에 가깝습니다.
답변1
ftpusers 및 LinuxAdmins 그룹이 로그인하여 적절한 그룹을 채울 수 있도록 CentOS 시스템에 AD를 이미 설정했다고 가정합니다. 그렇지 않은 경우 알려주십시오.
/etc/ssh/sshd_config에서 비슷한 작업을 수행할 수 있습니다.
Match Group ftpusers
ForceCommand internal-sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
ChrootDirectory /path/to/sftp/space
또한 대부분의 문서에서 권장하는 Chrooted 환경을 사용하도록 강제하려는 경우 ChrootDirectory를 포함했습니다. 중요한 부분은 ForceCommand입니다. 즉, ssh를 통해 로그인하더라도 셸이 아닌 SFTP 백엔드에만 연결됩니다. 다른 설정은 SSH의 다른 모든 기능을 비활성화합니다.