Cara Membuat Pengguna SFTP Tanpa Akses Shell di CentOS/RHEL 8

Cara Membuat Pengguna SFTP Tanpa Akses Shell di CentOS/RHEL 8

SFTP (protokol pemindahan fail SSH) adalah protokol pemindahan fail yang selamat antara dua sistem. Ia menjalankan protokol SSH dan berkongsi port yang sama 22. Tutorial ini akan membantu anda membuat pengguna SFTP sahaja mengakses (tanpa akses SSH) pada sistem CentOS 8 dan Redhat 8. Pengguna boleh menyambungkan pelayan dengan SFTP sahaja dan dibenarkan mengakses direktori yang ditentukan. Pengguna tidak boleh masuk ke pelayan. Ikuti tutorial di bawah untuk membuat akaun SFTP sahaja di CentOS 8 dan RHEL 8.

Langkah 1 - Buat Akaun

Pertama sekali, buat akaun pengguna untuk akses SFTP. Untuk tutorial ini, kami membuat pengguna bernama sftpuser tanpa akses shell. Juga, tetapkan kata laluan yang kuat untuk pengguna.

sudo adduser -sftpuser false sftpuser sftpuser sftpuser sftpuser 
Menukar kata laluan untuk pengguna sftpuser. Kata Laluan Baru: Retype Kata Laluan Baru: Passwd: Semua Token Pengesahan Dikemas kini dengan jayanya. 

Langkah 2 - Buat direktori

Sekarang, buat struktur direktori dapat diakses oleh pengguna SFTP. Kami akan menyekat pengguna baru ke direktori ini sahaja. Oleh itu, pengguna tidak dapat mengakses fail ke direktori lain.

sudo mkdir -p/var/sftp/fail 

Tukar pemilikan direktori kepada pengguna SFTP yang baru dibuat. Jadi sftpuser dapat membaca dan menulis di direktori ini.

sudo chown sftpuser: sftpuser/var/sftp/fail 

Anda mesti 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 

Langkah 3 - Konfigurasikan SSH untuk SFTP

Seperti yang kita tahu SFTP berjalan melalui protokol SSH, jadi kita perlu mengkonfigurasi ini dalam fail konfigurasi. Edit fail konfigurasi SSH dalam editor teks.

sudo vim/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 

Simpan konfigurasi dan mulakan semula perkhidmatan SSH untuk menggunakan perubahan.

SUDO Systemctl Mulakan semula SSHD.perkhidmatan 

Semua selesai, sistem anda sudah bersedia untuk menerima sambungan SFTP sahaja untuk akaun yang dibuat. Mari kita menguji sambungan SFTP dan juga pastikan pengguna tidak diberi kuasa kepada SSH.

Langkah 4 - Ujian sambungan SFTP

Saya menggunakan filezilla untuk sambungan ke contoh sftp dari sistem windows saya. Pengguna Desktop Linux juga boleh menggunakan FileZilla untuk sambungan.

Untuk pelayan Linux, pengguna boleh menggunakan utiliti baris arahan SFTP untuk menyambung ke contoh SFTP jauh.

sftp [dilindungi e -mel] 
Menyambung ke SFTP.Tecadmin.Kata Laluan Net ... [E -mel dilindungi]: sftp> 

Sambungkan dengan FileZilla:

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. 

Mesej di atas (perkhidmatan ini membolehkan sambungan SFTP sahaja.) menunjukkan bahawa pengguna mempunyai akses SFTP sahaja. Pengguna tidak dapat menyambungkan pelayan melalui ssh.