Menambahkan User SFTP tanpa Akses SSH

Menambahkan User SFTP tanpa Akses Login SSH. Untuk alasan keamanan, ada baiknya kita membatasi user sftp untuk mengelola web server dengan tidak memberikan akses login ke shell. Nah, di tutorial ini saya akan sharing sedikit bagaimana cara menambahkan user SFTP tanpa akses SSH.


Langkah pertama adalah membuat pengguna sftp tanpa login shell. Di tutorial ini sebagai contoh saya akan buat user dengan nama sftp-user. Kalian sesuaikan sendiri nantinya.
sudo useradd -s /bin/false sftp-user
opsi -s /bin/false digunakan untuk mengatur agar pengguna sftp-user tidak memiliki akses shell.

Jangan lupa atur password untuk user sftp-user.
sudo passwd sftp-user
Langkah selanjutnya adalah mengubah owner dari direktori home sftp-user. Owner direktori home dari user sftp harus di set ke root, karena akan terjadi error jika tidak diubah. Pesan errornya adalah fatal: bad ownership or modes for chroot directory.
sudo ls -la /home
sudo chown root:root /home/sftp-user/
sudo chmod 755 /home/sftp-user/
Sesuaikan sendiri untuk lokasi home nya.

Langkah selanjutnya adalah mengubah konfigurasi sshd untuk membatasi akses pengguna sftp.
sudo nano /etc/ssh/sshd_config
Lalu cari baris Subsystem. Kalian beri comment (tanda pagar) didepannya, lalu tambahkan baris berikut dibawahnya.
subsystem sftp internal-sftp
Match User sftp-user
ChrootDirectory %h
AllowTCPForwarding no
X11Forwarding no
AllowAgentForwarding no
ForceCommand internal-sftp
Sesuaikan sendiri untuk user nya.  opsi Match User bisa juga diganti dengan Match Group untuk mengaplikasikan konfigurasi tersebut ke seluruh user dalam satu group.

Jangan lupa restart service ssh untuk menerapkan perubahan.
sudo service sshd restart
Sekarang kita coba test login ke service ssh menggunakan user sftp tadi.
ssh sftp-user@labs.evil-security.com -p 666
saya menggunakan opsi -p 666 karena port default ssh sudah diganti. Baca artikel saya tentang mengubah port default ssh disini:
Oke, saat kita coba login ke ssh pasti akan mendapatkan error berikut.

Lalu kita coba login menggunakan sftp client.
sftp -P 666 sftp-user@labs.evil-security.com

Oke mungkin itu saja tutorial kali ini. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.