Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Cara Mengatur SFTP Chroot Di Linux

Posted on September 09, 2021 by Syauqi Wiryahasana

Panduan ini menjelaskan cara mengatur SFTP Chroot di Linux untuk membatasi akses pengguna SSH ke direktori home atau direktori tertentu. Dengan kata lain, kita akan memaksa pengguna ke direktori tertentu dan mengatur shell mereka ke /bin/nologin atau shell lain yang menolak akses ke login ssh. Setelah SFTP chroot dikonfigurasi, pengguna hanya dapat mengakses direktori home yang ditetapkan, tetapi tidak seluruh sistem file.

Dengan cara ini kami dapat mengizinkan pengguna untuk terhubung hanya melalui SFTP, tetapi tidak mengizinkan mereka untuk terhubung melalui SSH.

Mengaktifkan akses SFTP chroot berguna ketika Anda ingin membatasi sesi pengguna SSH ke direktori home mereka atau direktori tertentu pilihan Anda. Ini juga berguna ketika Anda ingin membatasi akses SSH ke pengguna tertentu dan masih mengizinkan mereka untuk mentransfer file antara sistem lokal dan jarak jauh.

Sekarang, mari kita lanjutkan dan atur SFTP Chroot untuk membatasi pengguna SSH ke direktori Home dan/atau direktori lain dengan Chroot Jail di Linux.

Panduan ini secara resmi diuji pada distribusi Debian 11 bullseye, Ubuntu 20.04 LTS dan Ubuntu 18.04 LTS. Namun, langkah-langkah yang diberikan di bawah ini harus bekerja pada semua distribusi Linux yang mendukung openSSH.
Contents
Setup SFTP Chroot di LinuxBuat direktori ChrootBuat grup sftp dan tetapkan pengguna ke grup ituTetapkan izin yang tepat ke direktori chrootKonfigurasikan perintah SFTP Chrooted SFTPBasicConclusionSetup Chrooted SFTP, openShhh
di Linux2 memiliki fitur yang dikenal sebagai subsistem internal-sftp yang hanya mengizinkan akses SFTP, bukan akses SSH. Jadi, pengguna hanya dapat mengakses data dari server, tetapi mereka tidak dapat mengaksesnya menggunakan SSH.
Buat direktori Chroot

Pertama, Buat direktori chroot menggunakan perintah:
$ sudo mkdir /sftp
Jadikan direktori ini sepenuhnya dimiliki oleh pengguna root menggunakan perintah:
$ sudo chown root:root /sftp/
Di bawah direktori ini, buat direktori terpisah untuk setiap pengguna, seperti /sftp/user1, /sftp/user2, dan /sftp/user3 dan seterusnya.

Untuk tujuan panduan ini , saya akan membuat direktori bernama ostechnix di bawah /sftp directory.
$ sudo mkdir /sftp/ostechnix
Ini adalah direktori tempat pengguna dapat menyimpan data. Juga, pengguna tidak dapat melampaui direktori ini. Ini seperti direktori $HOME mereka.
Create grup sftp dan menetapkan pengguna ke grup itu

Sekarang, kita perlu membuat pengguna untuk dapat mengakses direktori chroot SFTP.

Buat grup bernama sftponly seperti yang ditunjukkan pada perintah berikut:
$ sudo groupadd sftponly
Lalu , buat pengguna SFTP baru atau tetapkan pengguna yang ada ke grup "sftponly" seperti yang ditunjukkan di bawah ini.

Biarkan saya membuat pengguna baru, misalnya senthil, dan tetapkan dia ke grup "sftponly". Dan kemudian, atur direktori home-nya sebagai /sftp/ostechnix dan shell default sebagai /sbin/nologin.

Kita dapat melakukannya menggunakan perintah online berikut:
$ sudo useradd -g sftponly -d /ostechnix -s /sbin/nologin senthil
Set kata sandi untuk pengguna yang baru dibuat menggunakan perintah:
$ sudo passwd senthil
Untuk memodifikasi pengguna yang ada, gunakan perintah "usermod" alih-alih "useradd" seperti di bawah ini:
$ sudo usermod -g sftponly -d /ostechnix -s /sbin/nologin senthilMenetapkan izin yang tepat ke direktori chroot

Anda perlu memberikan izin yang tepat kepada pengguna SFTP untuk mengakses direktori HOME mereka seperti di bawah ini.
$ sudo chown senthil:sftponly /sftp/ostechnix$ sudo chmod 700 /sftp/ostechnix/
Pengguna SFTP lainnya dapat' t akses direktori ini.

Demikian pula, tetapkan izin yang sesuai untuk semua pengguna SFTP lainnya juga.

Unduhan yang Disarankan - eBuku Gratis: "Pelajari Linux dalam 5 Hari"
Configure Chrooted SFTP

Edit /etc/ssh/sshd_config file:
$ sudo vi /etc/ssh/sshd_config
Temukan dan beri komentar pada baris berikut (mis. tambahkan tanda bintang # di depannya untuk berkomentar).
#Subsystem sftp /usr/libexec/openssh/sftp-server
Dalam beberapa distribusi, misalnya Ubuntu 18.04 LTS, temukan dan beri komentar pada baris berikut:
#Subsystem sftp /usr/ lib/openssh/sftp-server
Selanjutnya, tambahkan baris berikut di akhir file:
Subsystem sftp internal-sftp Grup yang cocok sftponly ChrootDirectory /sftp/ X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftpConfigure $HOMEpn untuk membatasi pengguna SFTPn jika Anda ingin direktori chroot SFTPn , ganti saja /sftp dengan /home pada kode di atas. Pastikan Anda telah menentukan jalur direktori sftp yang benar. Tekan ESC dan ketik :wq untuk menyimpan file dan keluar.

Restart layanan ssh untuk memperbarui perubahan.
$ sudo systemctl restart sshd
Sekarang, coba SSH ke sistem ini dari sistem lain di jaringan menggunakan pengguna sftp (mis. case).
$ ssh [email protected]
Anda akan mendapatkan pesan kesalahan berikut.
[email protected]'s password: Layanan ini hanya mengizinkan koneksi sftp. Sambungan ke 192.168.122.181 closed.
Di sini, 192.168.122.181 adalah alamat IP sistem Debian jarak jauh tempat saya mengonfigurasi SFTP.

Anda hanya dapat mengakses sistem jarak jauh menggunakan sftp seperti yang ditunjukkan di bawah ini.
$ sftp [email protected][email protected]'s kata sandi: Terhubung ke 192.168.43.2. sftp>
Lihat? Pengguna "senthil" dapat terhubung melalui sftp, tetapi tidak melalui ssh.

Untuk mengetahui direktori kerja saat ini, gunakan perintah 'pwd':
sftp> pwd Direktori kerja jarak jauh: /ostechnix sftp>Setup SFTP chroot di Linux
Perintah SFTP dasar

menggunakan port alternatif menggunakan -p flag.
$ sftp -P [email protected]_host
Untuk mentransfer file jarak jauh ke sistem lokal, lakukan:
sftp> get /path/remote_file
Kita dapat mentransfer file lokal ke sistem jarak jauh menggunakan perintah:
sftp> put /path/local_file
Untuk mentransfer folder jarak jauh ke sistem lokal secara rekursif:
sftp> get -R /path/remote_folder
Untuk menampilkan daftar file di mesin lokal:
sftp> lls
Untuk menampilkan daftar file di mesin jarak jauh:
sftp> lsn bsp> untuk detail lebih lanjut tentang bspspftps penggunaan, lihat halaman manual.
$ man sftpConclusion

Dalam panduan ini, kita telah membahas cara mengkonfigurasi dan mengatur SFTP chroot di sistem operasi Linux seperti Debian dan Ubuntu.

Disarankan baca:
Cara Mengubah Port Default FTP Ke Port KustomInstal server VSFTPD di UbuntuSecure VSFTPD server dengan enkripsi TLS/SSL di UbuntuSetup Server FTP langkah demi langkah di CentOSFTP_Manager : Skrip Sederhana Untuk Menginstal Dan Mengelola Server FTP di CentOS
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically