GNU/Linux >> Belajar Linux >  >> Debian

Cara Mengkonfigurasi Server SFTP dengan Chroot di Debian 10

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

sftp> dapatkan devops-actions.txtfetching /devops-actions.txt to devops-actions.txt /devops-actions.txt 100%155 0.2kb /s 00:00sftp> sftp> cd /etccould tidak stat file remote stat :Tidak ada file atau directorysftp> cd /rootCouldn't stat remote file:No such file or directorysftp>

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.


Debian
  1. Cara mengatur server SFTP di Server Debian 11

  2. Cara Mengonfigurasi Firewall dengan CSF di Debian 9

  3. Cara Mengonfigurasi Firewall dengan UFW di Debian 9

  1. Cara Menginstal dan Mengkonfigurasi VNC di Debian 9

  2. Cara Setup Server FTP dengan VSFTPD di Debian 9

  3. Cara Mengkonfigurasi Server SFTP Chroot di Linux

  1. Cara Menginstal dan Mengonfigurasi Foreman 1.16 di Server Debian 9 / Ubuntu 16.04

  2. Cara Mengkonfigurasi HAProxy di Server Debian 9 / Ubuntu 16.04

  3. Cara Menginstal dan Mengkonfigurasi KVM di Debian 10 (Buster)