SFTP singkatan dari Secure File Transfer Protocol / SSH File Transfer Protocol, ini adalah salah satu metode paling umum yang digunakan untuk mentransfer file dengan aman melalui ssh dari sistem lokal kami ke server jarak jauh dan sebaliknya. Keuntungan utama dari sftp adalah kita tidak perlu menginstal paket tambahan apapun kecuali ‘openssh-server ', di sebagian besar distribusi Linux, paket 'openssh-server' adalah bagian dari instalasi default. Manfaat lain dari sftp adalah kita dapat mengizinkan pengguna untuk menggunakan sftp saja, bukan ssh.
Baru-baru ini Debian 10, Nama kode 'Buster' telah dirilis, dalam artikel ini kami akan menunjukkan cara mengkonfigurasi sftp dengan lingkungan seperti Chroot 'Jail' di Sistem Debian 10. Di sini lingkungan seperti Chroot Jail berarti bahwa pengguna tidak dapat melampaui direktori home masing-masing atau pengguna tidak dapat mengubah direktori dari direktori home mereka. Berikut detail labnya:
- OS =Debian 10
- Alamat IP =192.168.56.151
Mari masuk ke Langkah Konfigurasi SFTP,
Langkah:1) Buat Grup untuk sftp menggunakan perintah groupadd
Buka terminal, buat grup dengan nama “sftp_users ” menggunakan perintah groupadd di bawah ini,
[email protected]:~# groupadd sftp_users
Langkah:2) Tambahkan Pengguna ke Grup 'sftp_users' dan setel izin
Jika Anda ingin membuat pengguna baru dan ingin menambahkan pengguna tersebut ke grup ‘sftp_users’, jalankan perintah berikut,
Sintaks: # useradd -m -G sftp_users
Misalkan nama pengguna adalah 'Jonathan'
[email protected]:~# useradd -m -G sftp_users jonathan
atur kata sandi menggunakan perintah chpasswd berikut,
[email protected]:~# echo "jonathan:" | chpasswd
Jika Anda ingin menambahkan pengguna yang ada ke grup 'sftp_users' kemudian jalankan di bawah perintah usermod, anggaplah nama pengguna yang sudah ada adalah 'chris'
[email protected]:~# usermod -G sftp_users chris
Sekarang atur izin yang diperlukan pada Pengguna,
[email protected]:~# chown root /home/jonathan /home/chris/
Buat folder unggah di direktori beranda pengguna dan atur kepemilikan yang benar,
[email protected]:~# mkdir /home/jonathan/upload[email protected]:~# mkdir /home/chris/upload[email protected]:~# chown jonathan /home/jonathan/upload[email protected] :~# chown chris /home/chris/upload
Catatan: Pengguna seperti Jonathan dan Chris dapat mengunggah file dan direktori untuk mengunggah folder dari sistem lokal mereka.
Langkah:3) Edit file konfigurasi sftp (/etc/ssh/sshd_config)
Seperti yang telah kami nyatakan bahwa operasi sftp dilakukan melalui ssh, jadi file konfigurasinya adalah “/etc/ssh/sshd_config “, Sebelum membuat perubahan apa pun, saya sarankan terlebih dahulu mengambil cadangan dan kemudian mengedit file ini dan menambahkan konten berikut,
[email protected]:~# cp /etc/ssh/sshd_config /etc/ssh/sshd_config-org[email protected]:~# vim /etc/ssh/sshd_config………#Subsystem sftp /usr/lib/ openssh/sftp-serverSubsystem sftp internal-sftpMatch Group sftp_users X11Forwarding no AllowTcpForwarding no ChrootDirectory %h ForceCommand internal-sftp…………
Simpan &keluar dari file.
Untuk membuat perubahan di atas menjadi pengaruh, mulai ulang layanan ssh menggunakan perintah systemctl berikut
[email protected]:~# systemctl restart sshd
Dalam file 'sshd_config' di atas, kami telah mengomentari baris yang dimulai dengan “Subsistem” dan menambahkan entri baru “Subsistem sftp internal-sftp” dan baris baru seperti,
“Cocokkan sftp_users Grup” -> Artinya jika pengguna adalah bagian dari grup 'sftp_users' maka terapkan aturan yang disebutkan di bawah ini untuk entri ini.
“ChrootDierctory %h ” -> Ini berarti pengguna hanya dapat mengubah direktori dalam direktori home masing-masing, mereka tidak dapat melampaui direktori home mereka, atau dengan kata lain kita dapat mengatakan pengguna tidak diizinkan untuk mengubah direktori, mereka akan mendapatkan lingkungan seperti jai di dalam direktori mereka dan dapat 'tidak mengakses direktori pengguna dan sistem lain.
“ForceCommand internal-sftp ” –> Artinya pengguna dibatasi hanya pada perintah sftp.
Langkah:4) Uji dan Verifikasi sftp
Masuk ke sistem Linux lain yang berada di jaringan yang sama dengan server sftp Anda dan kemudian coba ke server ssh sftp melalui pengguna yang telah kami petakan di grup 'sftp_users'.
[[email protected] ~]# ssh [email protected][email protected]'s password:Tulis gagal:Broken pipe[[email protected] ~]# ssh [email protected][email protected] kata sandi:Penulisan gagal:Pipa rusak[[email protected] ~]#
Di atas menegaskan bahwa pengguna tidak diizinkan untuk SSH, sekarang coba sftp menggunakan perintah berikut,
[[email protected] ~]# sftp [email protected][email protected]'s password:Connected to 192.168.56.151.sftp> ls -ldrwxr-xr-x 2 root 1001 4096 14 Sep 07:52 debian10- pkgs-rw-r--r-- 1 root 1001 155 Sep 14 07:52 devops-actions.txtdrwxr-xr-x 2 1001 1002 4096 14 Sep 08:29 upload
Ayo coba download file menggunakan sftp ‘get ‘perintah
Output di atas mengkonfirmasi bahwa kami dapat mengunduh file dari server sftp kami ke mesin lokal dan selain itu kami juga telah menguji bahwa pengguna tidak dapat mengubah direktori.
Mari kita coba mengupload file di bawah “upload folder ”,
sftp> cd upload/sftp> taruh metricbeat-7.3.1-amd64.debMengunggah metricbeat-7.3.1-amd64.deb ke /upload/metricbeat-7.3.1-amd64.debmetricbeat-7.3.1-amd64.deb 100% 38MB 38.4MB/s 00:01sftp> ls -l-rw-r--r-- 1 1001 1002 40275654 14 Sep 09:18 metricbeat-7.3.1-amd64.debsftp>
Ini mengonfirmasi bahwa kami telah berhasil mengunggah file dari sistem lokal kami ke server sftp.
Sekarang uji server SFTP dengan alat winscp, masukkan alamat ip server sftp bersama kredensial pengguna,
Klik Login lalu coba unduh dan unggah file
Sekarang coba upload file di folder upload,
Jendela di atas mengonfirmasi bahwa pengunggahan juga berfungsi dengan baik, itu saja dari artikel ini. Jika langkah-langkah ini membantu Anda mengonfigurasi server SFTP dengan lingkungan chroot di Debian 10, silakan bagikan umpan balik dan komentar Anda.