GNU/Linux >> Belajar Linux >  >> Debian

Cara Membuat Pengguna Saja SFTP di Debian 11

SFTP (SSH File Transfer Protocol) adalah protokol file aman yang digunakan untuk mengakses, mengelola, dan mentransfer file melalui sesi transport SSH terenkripsi. Keamanan pertama adalah aturan praktis untuk administrator sistem. Dalam beberapa kasus, kami perlu mengizinkan pengguna jarak jauh untuk mengakses sistem file di sistem kami, tetapi Anda tidak ingin mengizinkan mereka mendapatkan shell. Ini akan memungkinkan Anda saluran aman untuk memberikan akses terbatas ke file dan direktori tertentu.

Tutorial ini akan membantu Anda untuk mengatur akses SFTP saja (tanpa akses shell) pada sistem Debian 11. Ini akan membuat lingkungan chroot pada sistem Anda untuk membatasi pengguna SFTP ke direktori tertentu saja. Selain itu, ini akan memungkinkan akses hanya SFTP tanpa akses SSH ke pengguna.

Prasyarat

  • Sistem Linux Debian 11 Bullseye yang sedang berjalan
  • Anda harus memiliki akun sudo istimewa dengan akses shell

Langkah 1 – Buat Pengguna Baru

Pertama-tama, buat pengguna baru untuk terhubung dengan server sftp. Perintah berikut akan membuat akun baru bernama sftpuser tanpa akses shell. Anda dapat menggunakan nama pilihan atau kebutuhan Anda.

sudo adduser --shell /bin/false sftpuser 

Langkah 2 – Buat Direktori untuk Akses SFTP

Anda telah membuat pengguna untuk sftp. Sekarang, buat direktori untuk dikonfigurasi sebagai chroot untuk sftp. Untuk contoh ini, saya akan membuat /var/sftp direktori. Direktori harus memiliki kepemilikan root untuk dikonfigurasi sebagai direktori chroot. Jadi kita akan membuat subdirektori di bawah /var/sftp dengan akses tulis ke akun sftp.

Buat struktur direktori dengan perintah berikut:

sudo mkdir -p /var/sftp/files 

Selanjutnya, kita harus mengatur izin yang tepat pada direktori untuk dikonfigurasi sebagai akses chroot dengan akses tulis ke pengguna. Di sini /var/sftp harus memiliki kepemilikan root dan grup dengan izin yang sesuai. Untuk menyetel izin itu, ketik:

sudo chown root:root /var/sftp 
sudo chmod 755 /var/sftp 

Sekarang, ubah izin untuk "files" direktori untuk mengizinkan akses tulis ke sftpuser. Untuk menyetel izin itu, ketik:

sudo chown sftpuser:sftpuser /var/sftp/files 

Setelah sftpuser terhubung ke server, akan mendapatkan /var/sftp sebagai direktori root. Dia tidak dapat mengakses sistem file di luarnya. Selain itu, pengguna hanya dapat membaca/menulis file di bawah direktori “files”.

Langkah 3 – Konfigurasikan sshd untuk SFTP Saja

Selanjutnya, Anda perlu mengonfigurasi server SSH untuk mengizinkan "sftpuser" menghubungkan server dengan sFTP saja tanpa akses shell. Untuk membuat perubahan yang diperlukan, edit file konfigurasi SSH.

sudo nano /etc/ssh/sshd_config 

dan tambahkan pengaturan berikut di akhir file.

Match User sftpuser
	ForceCommand internal-sftp
	PasswordAuthentication yes
	ChrootDirectory /var/sftp
	PermitTunnel no
	AllowAgentForwarding no
	AllowTcpForwarding no
	X11Forwarding no

Periksa kembali apakah semua pengaturan sudah benar. Kemudian simpan perubahan dan mulai ulang layanan SSH untuk menerapkan perubahan.

sudo systemctl restart ssh 

Semua selesai, penggunaan SFTP saja berhasil dibuat di sistem Debian Anda. Sekarang coba masuk ke sistem jarak jauh dengan kredensial pengguna baru, dan periksa apakah semuanya berfungsi dengan benar.

Langkah 4 – Hubungkan ke SFTP

Seseorang dapat terhubung ke server SFTP jarak jauh menggunakan baris perintah atau aplikasi grafis seperti Filezilla atau WinSCP. Dalam tutorial ini, saya akan menunjukkan dua cara untuk menghubungkan server SFTP.

Pengguna Linux dapat menggunakan utilitas baris perintah sftp untuk terhubung ke instance sftp jarak jauh.

sftp [email protected] 

[email protected]'s password:
sftp>

Antarmuka GUI atau pengguna Windows dapat menggunakan klien sftp grafis. Misalnya, gunakan klien Filezilla untuk menghubungkan akun hanya sftp jarak jauh di sistem jarak jauh.

Verifikasi tidak ada akses shell:

Karena akun ini dikonfigurasi untuk koneksi SFTP saja. Jadi jika ada pengguna yang mencoba terhubung melalui SSH akan terputus segera setelah otentikasi berhasil. Pengguna akan mendapatkan pesan di bawah ini:

ssh [email protected] 

[email protected]'s password:
This service allows sftp connections only.
Connection to sftp.tecadmin.net closed.

Kesimpulan

Dalam panduan cara ini, Anda telah belajar membuat lingkungan jail chroot untuk pengguna SFTP tanpa akses shell ke server. Lingkungan Chroot mengamankan sistem file dengan mencegah pengguna mengakses file di luar direktori yang ditentukan. Tutorial ini dibuat dan diuji dengan sistem Debian 11 Bullseye tetapi ini akan bekerja pada versi Debian lainnya.


Debian
  1. Cara Membuat Pengguna Sudo Di CentOS, Ubuntu &Debian

  2. Cara Membuat Pengguna Sudo di Debian

  3. Cara mengatur server SFTP di Server Debian 11

  1. Centos – Bagaimana Cara Membuat Pengguna Sftp Di Centos?

  2. Bagaimana Cara Membuat Pengguna Baru Dengan Akses Ssh?

  3. Cara Membuat dan Menghapus Pengguna di Debian 9

  1. Cara Membuat Pengguna SFTP tanpa Akses Shell di CentOS 8

  2. Cara Membatasi Akses su ke Pengguna Hanya dengan PAM di Linux

  3. Bagaimana saya bisa membuat pengguna hanya untuk sftp?