Cara Setting SFTP Only di CentOS 8
SFTP (SSH File Transfer Protocol) adalah cara yang aman untuk mentransfer file antara mesin dengan menggunakan koneksi SSH yang terenkripsi.
Dalam tutorial ini, kita akan mengkonfigurasi server SSH untuk membatasi akses SFTP berdasarkan per pengguna, sehingga mereka tidak dapat mengakses shell terminal.
Prasyarat
- Server yang menjalankan CentOS 8.
- Akses root atau pengguna dengan hak sudo.
- OpenSSH server terinstal dan berjalan.
Langkah Utama
Berikut adalah langkah-langkah untuk mengkonfigurasi SFTP tanpa akses shell:
1. Install OpenSSH Server
Pastikan OpenSSH server terinstal. Anda dapat memeriksa dan menginstalnya dengan perintah berikut:
# dnf install openssh-server
2. Mulai dan Aktifkan Layanan SSH
Setelah instalasi, jalankan layanan SSH dan pastikan untuk mengaktifkannya secara otomatis saat booting:
# systemctl start sshd
systemctl enable sshd
3. Buat Pengguna Baru untuk SFTP
Anda perlu membuat pengguna baru yang akan digunakan untuk SFTP. Gunakan perintah berikut untuk menambah pengguna baru:
# adduser sftpuser
passwd sftpuser
4. Buat Direktori untuk SFTP
Selanjutnya, buat direktori yang akan digunakan untuk menyimpan file SFTP:
# mkdir -p /home/sftpuser/uploads
chown root:root /home/sftpuser
chmod 755 /home/sftpuser
chown sftpuser:sftpuser /home/sftpuser/uploads
5. Konfigurasi SSH untuk SFTP
Selanjutnya, kita akan mengedit file konfigurasi SSH untuk membatasi akses pengguna SFTP saja:
# nano /etc/ssh/sshd_config
Tambahkan baris berikut di bagian akhir file:
Match User sftpuser
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /home/sftpuser
6. Restart Layanan SSH
Setelah melakukan perubahan, restart layanan SSH untuk menerapkan konfigurasi baru:
# systemctl restart sshd
7. Uji Koneksi SFTP
Anda dapat menguji koneksi SFTP menggunakan klien SFTP atau dengan perintah berikut:
# sftp sftpuser@your_server_ip
Konfigurasi Lanjutan
Untuk meningkatkan keamanan dan kinerja, Anda bisa mempertimbangkan langkah-langkah berikut:
1. Batasi Akses dari IP Tertentu
Anda bisa membatasi akses SFTP hanya dari alamat IP tertentu dengan menambahkan aturan di firewall:
# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
firewall-cmd --reload
2. Nonaktifkan Akses Root
Pastikan akses root melalui SSH dinonaktifkan untuk meningkatkan keamanan:
# nano /etc/ssh/sshd_config
Temukan baris:
PermitRootLogin yes
Ganti menjadi:
PermitRootLogin no
3. Gunakan Kunci SSH untuk Autentikasi
Untuk keamanan lebih lanjut, gunakan kunci SSH alih-alih kata sandi untuk autentikasi. Buat kunci SSH dengan:
# ssh-keygen
Dan salin kunci publik ke server:
# ssh-copy-id sftpuser@your_server_ip
Best Practices
- Selalu gunakan kunci SSH untuk autentikasi alih-alih kata sandi.
- Secara berkala, periksa dan update sistem untuk mengatasi kerentanan keamanan.
- Gunakan firewall untuk membatasi akses ke port yang diperlukan saja.
- Aktifkan logging untuk memantau akses dan aktivitas SFTP.
Troubleshooting
Jika Anda mengalami masalah saat mengakses SFTP, berikut adalah beberapa langkah yang dapat membantu:
- Periksa status layanan SSH dengan perintah
systemctl status sshd. - Periksa konfigurasi SSH di
/etc/ssh/sshd_configuntuk memastikan tidak ada kesalahan pengetikan. - Periksa izin akses untuk direktori yang digunakan oleh pengguna SFTP.
- Lihat log SSH di
/var/log/secureuntuk informasi lebih lanjut tentang kesalahan.
Kesimpulan
Dalam tutorial ini, kita telah membahas cara mengkonfigurasi SFTP hanya di CentOS 8 tanpa memberikan akses shell kepada pengguna. Dengan langkah-langkah yang dijelaskan, Anda bisa memastikan bahwa pengguna hanya bisa mengakses file melalui SFTP dengan aman. Pastikan untuk selalu mengikuti praktik terbaik dan memperbarui sistem secara berkala untuk menjaga keamanan.
Verifikasi Teknis
Panduan ini disusun berdasarkan referensi teknis terbaru. Namun, konfigurasi server dapat bervariasi. Lihat sumber referensi asli →
📚 Artikel Terkait
Cara Install dan Konfigurasi FTP Server (proftpd) di Ubuntu Server 12.04
601 kata • Baca selengkapnya →

Cara Install FTP Server dengan vsftpd di Debian 9 Server
791 kata • Baca selengkapnya →

Cara Install FTP Server dengan VsFTPd di Ubuntu
706 kata • Baca selengkapnya →

Cara Login SFTP dengan Key di Linux
568 kata • Baca selengkapnya →