Cara membuat pengguna SFTP sahaja di Ubuntu & Debian

Cara membuat pengguna SFTP sahaja di Ubuntu & Debian

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. Di sini SFTP Sahaja pengguna bermaksud untuk membuat akaun untuk mengakses pelayan melalui SFTP sahaja. Pengguna itu tidak mempunyai akses shell ssh. Ini membolehkan anda saluran yang selamat untuk memberikan akses terhad kepada fail dan direktori tertentu.

Catatan blog ini menggambarkan anda membuat pengguna SFTP sahaja tanpa akses shell di Ubuntu dan Debian Systems.

Langkah 1- Membuat pengguna baru

Pertama sekali, buat akaun pengguna dalam sistem anda untuk digunakan sebagai pengguna SFTP. Perintah berikut akan membuat akaun baru bernama sftpuser tanpa akses shell. Anda boleh menukar nama pengguna pilihan anda

Sudo Adduser -Sftpuser Sudo /Bin /False  

Perintah akan meminta kata laluan untuk ditetapkan untuk akaun baru.

Langkah 2 - Buat direktori untuk sftp

Sekarang, buat struktur direktori dapat diakses oleh pengguna SFTP.

sudo mkdir -p/var/sftp/fail  

Di sini kami akan membolehkan pengguna mengakses direktori "Fail" sahaja.

Sekarang, tukar pemilikan fail Direktori ke sftpuser. Jadi pengguna SFTP boleh membaca dan menulis di direktori ini sahaja. Tiada fail di luar direktori ini boleh diakses.

sudo chown sftpuser: sftpuser/var/sftp/fail  

Dan menetapkan pemilik dan pemilik kumpulan /var/sftp ke akar. Pengguna root telah membaca/menulis akses pada akses ini. Ahli kumpulan dan akaun lain hanya membaca dan melaksanakan kebenaran.

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

Ia akan menyekat pengguna SFTP daripada menulis fail di bawah /var/sftp direktori.

Langkah 3 - Konfigurasikan SSHD untuk SFTP sahaja

/etc/ssh/sshd_config adalah fail konfigurasi utama pelayan OpenSSH. Berhati -hati dengan menukar fail konfigurasi ini, kerana sebarang kesilapan boleh menyebabkan kerugian sambungan.

Edit fail konfigurasi SSH dalam editor teks:

sudo vim/etc/ssh/sshd_config  

Kemudian 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 

Simpan fail dan tutup.

Arahannya adalah:

  • Padankan pengguna Mentakrifkan nama pengguna, di mana konfigurasi SFTP hanya digunakan. Dalam kes kita ialah: sftpuser
  • Forcecommand dalaman-sftp menguatkuasakan SFTP sahaja akses kepada pengguna dan menyekat akses shell.
  • Kata laluanAuthentication Ya membenarkan pengesahan kata laluan untuk pengguna.
  • Chrootdirectory /var /sftp Hadkan pengguna untuk mengakses direktori di bawah direktori ini sahaja. Di sini /var /sftp bertindak sebagai direktori akar pengguna.
  • Membenarkan untuk tidak Menentukan sama ada penghantaran SSH-Agent dibenarkan. Lalai adalah ya.
  • Membenarkantcpforwarding no Menentukan sama ada pemajuan TCP dibenarkan. Lalai adalah ya.
  • X11forwarding no Dinyatakan di mana aplikasi grafik dibenarkan untuk tidak

Mulakan semula perkhidmatan SSH untuk memohon tetapan baru:

sudo systemctl mulakan semula ssh  

Itu sahaja. Anda telah berjaya menyelesaikan arahan untuk membuat pengguna SFTP sahaja mengenai sistem berasaskan Debian.

Langkah 4 - Petua Keselamatan (Pilihan)

Berikut adalah beberapa petua keselamatan asas tetapi penting untuk akaun SFTP dalam persekitaran pengeluaran.

  1. Jalankan pelayan SSH di port bukan standard
  2. Tidak membenarkan pengesahan kata laluan dan konfigurasikan pengesahan berasaskan kunci
  3. Pastikan firewall terhad kepada alamat IP tertentu sahaja
  4. Dan simpan pakej OpenSSH yang terkini

Kesimpulan

Tutorial ini menggambarkan anda membuat pengguna SFTP sahaja dalam sistem Ubuntu. Ia akan melumpuhkan akses shell untuk pengguna yang sama untuk menyekat ke direktori yang ditentukan sahaja.