Cara Membuat SFTP Hanya Pengguna di Ubuntu & Debian

Cara Membuat SFTP Hanya Pengguna di Ubuntu & Debian

SFTP (SSH File Transfer Protocol) adalah protokol file yang aman yang digunakan untuk mengakses, mengelola, dan mentransfer file melalui sesi transportasi SSH terenkripsi. Di sini SFTP hanya pengguna berarti membuat akun untuk mengakses server melalui SFTP saja. Pengguna itu tidak memiliki akses SSH Shell. Ini memungkinkan Anda saluran yang aman untuk menyediakan akses terbatas ke file dan direktori tertentu.

Posting blog ini menjelaskan Anda membuat pengguna khusus SFTP tanpa akses shell di sistem Ubuntu dan Debian.

Langkah 1- Membuat pengguna baru

Pertama -tama, buat akun pengguna di sistem Anda untuk digunakan sebagai pengguna SFTP. Perintah berikut akan membuat akun baru bernama sftpuser tanpa akses shell. Anda dapat mengubah nama pengguna pilihan Anda

sudo adduser -shell /bin /false sftpuser  

Perintah akan meminta kata sandi yang akan ditetapkan untuk akun baru.

Langkah 2 - Buat direktori untuk SFTP

Sekarang, buat struktur direktori agar dapat diakses oleh pengguna SFTP.

sudo mkdir -p/var/sftp/file  

Di sini kami akan mengizinkan pengguna untuk mengakses direktori "file" saja.

Sekarang, ubah kepemilikan file direktori ke sftpuser. Sehingga pengguna SFTP hanya dapat membaca dan menulis di direktori ini. Tidak ada file di luar direktori ini yang dapat diakses.

Sudo chown sftpuser: sftpuser/var/sftp/file  

Dan mengatur pemilik dan pemilik grup dari /var/sftp untuk root. Pengguna root memiliki akses baca/tulis di akses ini. Anggota grup dan akun lain hanya membaca dan menjalankan izin.

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

Itu akan membatasi pengguna SFTP dari menulis file di bawah /var/sftp direktori.

Langkah 3 - Konfigurasikan SSHD Hanya Untuk SFTP

/etc/ssh/sshd_config adalah file konfigurasi utama dari server openssh. Hati -hati dengan mengubah file konfigurasi ini, karena kesalahan apa pun dapat menyebabkan kehilangan koneksi.

Edit file konfigurasi ssh di editor teks:

sudo vim/etc/ssh/sshd_config  

Kemudian 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 

Simpan file dan tutup.

Arahannya adalah:

  • Pengguna Cocokkan Mendefinisikan nama pengguna, di mana konfigurasi SFTP hanya diterapkan. Dalam kasus kami itu adalah: sftpuser
  • Forcecommand Internal-SFTP Menegakkan SFTP hanya akses ke pengguna dan membatasi akses shell.
  • PasswordAuthentication Ya memungkinkan otentikasi kata sandi untuk pengguna.
  • Chrootdirectory /var /sftp Membatasi pengguna untuk mengakses direktori di bawah direktori ini. Di sini /var /sftp bertindak sebagai direktori root pengguna.
  • Allowagent untuk no Menentukan apakah penerusan agen SSH diizinkan. Defaultnya adalah ya.
  • Izinkan No Menentukan apakah penerusan TCP diizinkan. Defaultnya adalah ya.
  • X11 untuk no Ditentukan di mana aplikasi grafis diizinkan untuk tidak

Restart SSH Service untuk menerapkan pengaturan baru:

Sudo Systemctl Restart SSH  

Itu dia. Anda telah berhasil menyelesaikan instruksi untuk membuat pengguna khusus SFTP di sistem berbasis Debian.

Langkah 4 - Kiat Keamanan (Opsi)

Berikut adalah beberapa tips keamanan dasar namun penting untuk akun SFTP di lingkungan produksi.

  1. Jalankan SSH Server di port non-standar
  2. Larang otentikasi kata sandi dan konfigurasikan otentikasi berbasis kunci
  3. Pastikan firewall dibatasi hanya untuk alamat IP tertentu
  4. Dan teruskan paket openssh tetap up

Kesimpulan

Tutorial ini menjelaskan Anda membuat pengguna khusus SFTP di sistem Ubuntu. Itu akan menonaktifkan akses shell untuk pengguna yang sama untuk membatasi ke direktori tertentu.