Cara Membuat SFTP Hanya Pengguna di Debian 11

Cara Membuat SFTP Hanya Pengguna di Debian 11

SFTP (SSH File Transfer Protocol) adalah protokol file yang aman yang digunakan untuk mengakses, mengelola, dan mentransfer file melalui sesi transportasi SSH terenkripsi. Keamanan Pertama adalah aturan jempol bagi administrator sistem. Dalam beberapa kasus, kami perlu mengizinkan pengguna jarak jauh untuk mengakses sistem file pada sistem kami, tetapi Anda tidak ingin mengizinkannya mendapatkan shell. Ini akan memungkinkan Anda saluran yang aman untuk menyediakan akses terbatas ke file dan direktori tertentu.

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

Prasyarat

  • Sistem Linux Debian 11 Bullseye yang sedang berjalan
  • Anda harus memiliki akun istimewa sudo 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 mengonfigurasi sebagai chroot untuk SFTP. Untuk contoh ini, saya akan membuat a /var/sftp direktori. Direktori harus memiliki kepemilikan root untuk dikonfigurasi sebagai Direktori Chroot. Jadi kami akan membuat subdirektori di bawah /var /sftp dengan akses tulis ke akun sftp.

Buat struktur direktori dengan perintah berikut:

sudo mkdir -p/var/sftp/file  

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

Sudo Chown Root: root /var /sftp  sudo chmod 755 /var /sftp  

Sekarang, ubah izin untuk "File" direktori untuk mengizinkan akses menulis ke sftpuser. Untuk mengatur izin itu, ketik:

Sudo chown sftpuser: sftpuser/var/sftp/file  

Setelah SFTPuser terhubung ke server, akan mendapatkan /var /sftp sebagai direktori root. Dia tidak dapat mengakses sistem file di luarnya. Juga, pengguna dapat membaca/menulis file di bawah direktori "file" saja.

Langkah 3 - Konfigurasikan SSHD Hanya Untuk SFTP

Selanjutnya, Anda perlu mengkonfigurasi server SSH untuk memungkinkan "SFTPUSER" untuk menghubungkan server dengan SFTP hanya 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.

Cocok dengan pengguna sftpuser forcecomand internal-sftp kata sandi othentication ya chrootdirectory /var /sftp permitunnel no allowagentinging no no allowtcpforwarding no x11forwarding no 
Konfigurasi chroot untuk pengguna sftp

Periksa ulang bahwa semua pengaturan sudah benar. Kemudian simpan perubahan dan restart layanan SSH untuk menerapkan perubahan.

Sudo Systemctl Restart SSH  

Semua selesai, SFTP hanya digunakan telah 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 - Sambungkan 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 kepada Anda berdua cara untuk menghubungkan server SFTP.

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

sftp [email dilindungi]  Kata sandi [email dilindungi]: sftp> 

Antarmuka GUI atau pengguna Windows dapat menggunakan klien SFTP grafis. Misalnya, gunakan FileZilla Client untuk menghubungkan akun SFTP Remote Only pada 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 segera terputus setelah otentikasi yang berhasil. Pengguna akan mendapatkan pesan di bawah ini:

ssh [email dilindungi]  Kata Sandi [Email Dilindungi]: Layanan ini hanya memungkinkan koneksi SFTP. Koneksi ke SFTP.tecadmin.net ditutup. 

Kesimpulan

Dalam panduan cara ini, Anda telah belajar membuat lingkungan penjara 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.