Saya menjalankan stabil Debian dan saya ingin membangun lingkungan berikut untuk pengguna di grup 'sftponly' saya:
- dipenjara
- dapat mentransfer dengan SFTP
- dapat mentransfer dengan SCP
- tidak dapat masuk secara interaktif dengan SSH
Dari eksperimen dan penelitian saya, tampaknya bait berikut di sshd_config membuat saya 90% di sana:
Match group sftponly
ChrootDirectory /sftp/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Ini memberi saya SFTP yang dipenjara dan tidak ada SSH, yang bagus. Tetapi juga menonaktifkan SCP, yang kurang ideal karena beberapa klien adalah warisan, proses scripted yang menggunakan SCP daripada SFTP (server yang kami ganti mendukung kedua protokol), dan karena klien tersebut tidak di bawah kendali kami dan mudah dimodifikasi, sepertinya tidak praktis untuk menonaktifkan SCP sama sekali.
Masuk akal bahwa konfigurasi ini akan menonaktifkan SCP, karena koneksi SCP yang masuk menyebabkan sshd memunculkan proses `scp 'melalui shell login pengguna, sebagai pengguna itu. Tampaknya hal yang sama biasanya berlaku untuk SFTP, kalau bukan untuk handler 'internal-sftp' khusus.
Jadi, saya kira pertanyaan saya adalah: apakah ada cara untuk mencapai efek yang sama dengan 'internal-sftp' tetapi untuk SCP, tanpa menggunakan alat pihak ketiga seperti scponly dan rssh? Hal yang benar-benar menyenangkan tentang 'internal-sftp' adalah tidak perlu membuat penjara dengan file dukungan, atau berurusan dengan binari setuid pihak ketiga yang berpotensi dapat dieksploitasi (rssh, khususnya, memiliki sejarah exploit).