Cara Membuat SFTP Sahaja Pengguna di Debian 11

Cara Membuat SFTP Sahaja Pengguna di Debian 11

SFTP (protokol pemindahan fail SSH) adalah protokol fail yang selamat yang digunakan untuk mengakses, mengurus, dan memindahkan fail ke atas sesi pengangkutan SSH yang disulitkan. Keselamatan Pertama adalah peraturan ibu jari bagi pentadbir sistem. Dalam beberapa kes, kita perlu membenarkan pengguna jauh mengakses sistem fail pada sistem kami, tetapi anda tidak mahu membenarkan mereka mendapatkan cangkang. Ini akan membolehkan anda saluran selamat untuk memberikan akses terhad kepada fail dan direktori tertentu.

Tutorial ini akan membantu anda menyiapkan akses SFTP sahaja (tanpa akses shell) pada sistem Debian 11. Ia akan mewujudkan persekitaran chroot pada sistem anda untuk mengehadkan pengguna SFTP ke direktori tertentu sahaja. Juga, ia akan membolehkan SFTP hanya akses tanpa akses SSH kepada pengguna.

Prasyarat

  • Sistem Debian 11 Bullseye Linux yang berlari
  • Anda mesti mempunyai akaun istimewa sudo dengan akses shell

Langkah 1 - Buat pengguna baru

Pertama sekali, buat pengguna baru untuk berhubung dengan pelayan SFTP. Perintah berikut akan membuat akaun baru bernama sftpuser tanpa akses shell. Anda boleh menggunakan nama pilihan atau keperluan anda.

Sudo Adduser -Sftpuser Sudo /Bin /False  

Langkah 2 - Buat direktori untuk akses SFTP

Anda telah membuat pengguna untuk sftp. Sekarang, buat direktori untuk mengkonfigurasi sebagai chroot untuk sftp. Untuk contoh ini, saya akan membuat a /var/sftp direktori. Direktori mesti mempunyai pemilikan akar untuk mengkonfigurasi sebagai Direktori Chroot. Oleh itu, kami akan membuat subdirektori di bawah /var /sftp dengan akses tulis ke akaun sftp.

Buat struktur direktori dengan arahan berikut:

sudo mkdir -p/var/sftp/fail  

Seterusnya, kita perlu menetapkan kebenaran yang betul pada direktori untuk mengkonfigurasi sebagai akses chroot dengan akses tulis kepada pengguna. Di sini /var /sftp mesti mempunyai pemilikan akar dan kumpulan dengan kebenaran yang betul. Untuk menetapkan kebenaran itu, taipkan:

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

Sekarang, ubah kebenaran untuk "Fail" Direktori untuk membenarkan akses menulis ke sftpuser. Untuk menetapkan kebenaran itu, taipkan:

sudo chown sftpuser: sftpuser/var/sftp/fail  

Sebaik sahaja sftpuser menyambung ke pelayan, akan mendapat /var /sftp sebagai direktori root. Dia tidak dapat mengakses sistem fail di luarnya. Juga, pengguna boleh membaca/menulis fail di bawah direktori "Fail" sahaja.

Langkah 3 - Konfigurasikan SSHD untuk SFTP sahaja

Seterusnya, anda perlu mengkonfigurasi pelayan SSH untuk membolehkan "sftpuser" menyambungkan pelayan dengan sftp sahaja tanpa akses shell. Untuk membuat perubahan yang diperlukan, edit fail konfigurasi SSH.

sudo nano/etc/ssh/sshd_config  

dan tambahkan tetapan berikut pada akhir fail.

Padankan pengguna sftpuser forcecommand-sftp passwordAuthentication yes chrootdirectory /var /sftp permittunnel no conektforwarding no allowtcpforwarding no x11forwarding no no 
Konfigurasi Chroot untuk Pengguna SFTP

Semak semula semua tetapan betul. Kemudian simpan perubahan dan mulakan semula perkhidmatan SSH untuk menggunakan perubahan.

sudo systemctl mulakan semula ssh  

Semua yang dilakukan, penggunaan SFTP hanya berjaya dibuat pada sistem debian anda. Sekarang cuba masuk ke sistem terpencil dengan kelayakan pengguna baru, dan periksa sama ada semuanya berfungsi dengan betul.

Langkah 4 - Sambungkan ke SFTP

Seseorang boleh menyambung ke pelayan SFTP jauh menggunakan baris arahan atau aplikasi grafik seperti FileZilla atau WinSCP. Dalam tutorial ini, saya akan menunjukkan kepada anda kedua -dua cara untuk menyambungkan pelayan sftp.

Pengguna Linux boleh menggunakan utiliti baris arahan SFTP untuk menyambung ke contoh SFTP jauh.

sftp [dilindungi e -mel]  [E -mel dilindungi] Kata laluan: sftp> 

Pengguna antara muka GUI atau Windows boleh menggunakan pelanggan SFTP grafik. Sebagai contoh, gunakan klien FileZilla untuk menyambungkan akaun SFTP jauh sahaja pada sistem jauh.

Sahkan tiada akses shell:

Oleh kerana akaun ini dikonfigurasikan untuk sambungan SFTP sahaja. Oleh itu, jika mana -mana pengguna cuba menyambung melalui SSH akan diputuskan segera selepas pengesahan yang berjaya. Pengguna akan mendapat mesej di bawah:

SSH [dilindungi e -mel]  [E -mel dilindungi] Kata Laluan: Perkhidmatan ini membolehkan sambungan SFTP sahaja. Sambungan ke SFTP.Tecadmin.bersih ditutup. 

Kesimpulan

Dalam panduan cara ini, anda telah belajar untuk mewujudkan persekitaran penjara chroot untuk pengguna SFTP tanpa akses shell ke pelayan. Persekitaran chroot menjamin sistem fail dengan menghalang pengguna mengakses fail di luar direktori yang ditetapkan. Tutorial ini dicipta dan diuji dengan sistem Debian 11 Bullseye tetapi ini akan berfungsi pada versi Debian yang lain.