File Transfer Protocol adalah protokol komunikasi standar yang digunakan untuk transfer file komputer dari server ke klien di jaringan komputer.
FTP tidak populer saat ini karena Kurang Keamanan. Ketika file dikirim menggunakan protokol ini, data, nama pengguna, dan kata sandi semuanya dibagikan dalam teks biasa, yang berarti peretas dapat mengakses informasi ini dengan sedikit atau tanpa usaha. Agar data aman, Anda perlu menggunakan versi FTP yang ditingkatkan seperti SFTP.
SFTP Secure File Transfer Protocol adalah protokol transfer file yang menyediakan akses aman ke komputer jarak jauh untuk menyampaikan komunikasi yang aman. Ini memanfaatkan SSH – Secure Socket Shell dan sering juga disebut sebagai 'Secure Shell File Transfer Protocol'.
Konten Terkait
- Cara menginstal dan menyiapkan server sftp di Ubuntu 20.04
- Cara menyiapkan server SFTP di Server OpenSUSE Leap 15.3
Prasyarat
Untuk mengikuti panduan ini, pastikan Anda memiliki hal berikut:
- Sistem berbasis Centos 8 atau RHEL 8
- Akses root ke server Atau pengguna dengan akses root
Daftar Isi
- Menginstal ssh pada layanan jika tidak ada
- Membuat pengguna dan grup serta menambahkan direktori yang diperlukan
- Mengonfigurasi layanan ssh
- Memverifikasi bahwa penyiapan berfungsi seperti yang diharapkan
1. Menginstal ssh pada layanan jika tidak ada
Sebelum melanjutkan, pastikan sistem Anda mutakhir:
$ sudo dnf update -y
Last metadata expiration check: 2:05:00 ago on Mon 27 Sep 2021 03:48:26 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!
Kemudian verifikasi bahwa ssh telah diinstal dan aktif dan berjalan:
$ sudo dnf install -y openssh-server
Last metadata expiration check: 3:48:26 ago on Mon 27 Sep 2021 03:48:26 PM UTC.
Package openssh-server-8.0p1-6.el8_4.2.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Mulai layanan
sudo systemctl restart sshd
2. Membuat pengguna dan grup dan menambahkan direktori yang diperlukan
Selanjutnya kami akan memastikan bahwa pengguna yang diperlukan ada dalam sistem. Dalam kasus saya, saya ingin pengguna sftp pulang sebagai /srv/sftp
Mari kita buat rumah /srv/sftp
dengan perintah ini:
sudo mkdir /srv/sftp
Kemudian mari kita buat grup payung untuk SFTP saja
sudo groupadd sftpusers
Kemudian buat pengguna khusus sftp:
sudo useradd -G sftpusers -d /srv/sftp/citizix -s /sbin/nologin citizix
Opsi di atas melakukan hal berikut:
-G sftpusers
:Buat pengguna, tambahkan kesftpusers
grup-d /srv/sftp/citizix
:Setel direktori home sebagai/srv/sftp/citizix
-s /sbin/nologin
:Kami tidak ingin pengguna login, jadi tidak ada shell login ssh- Akhirnya, nama pengguna sebagai
citizix
Kemudian tambahkan kata sandi ke pengguna yang dibuat menggunakan perintah ini:
$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
3. Mengonfigurasi layanan ssh
Sekarang kita telah menginstal perangkat lunak yang diperlukan dan membuat pengguna dan grup, mari kita konfigurasikan ssh.
Pastikan otentikasi kata sandi diaktifkan untuk ssh. Edit file konfigurasi di sini /etc/ssh/sshd_config
:
sudo vim /etc/ssh/sshd_config
Kemudian pastikan baris ini tidak dikomentari:
PasswordAuthentication yes
Selanjutnya, kita perlu menambahkan aturan untuk pengguna di sftpusers
kelompok untuk dianggap sebagai sftp. Edit file konfigurasi:
sudo vim /etc/ssh/sshd_config
Tambahkan konten ini di bagian bawah file:
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /srv/sftp
ForceCommand internal-sftp
Kemudian restart sshd untuk memuat ulang konfigurasi:
sudo systemctl restart sshd
Verifikasi bahwa sshd
berjalan seperti yang diharapkan:
$ sudo systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-09-27 19:05:29 UTC; 43min ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 746214 (sshd)
Tasks: 1 (limit: 23800)
Memory: 7.2M
CGroup: /system.slice/sshd.service
└─746214 /usr/sbin/sshd -D [email protected],[email protected]>
4. Memverifikasi bahwa penyiapan berfungsi seperti yang diharapkan
Setelah berhasil membuat user dan menambahkan konfigurasi sftp, mari kita uji setup dengan menggunakan perintah:
❯ sftp [email protected]
[email protected]'s password:
Connected to 3.250.122.68.
sftp> ls
citizix
sftp>
Sekarang kami memiliki server sftp dan berjalan dengan pengguna yang dikonfigurasi!
Pengguna akan dapat masuk ke server dan mengakses file dan direktori yang terletak di direktori home mereka. Jika Anda ingin memberikan pengguna ke direktori lain di luar direktori mereka sendiri, pastikan pengguna memiliki hak yang cukup untuk mengakses. Direktori dan file ini harus berada di dalam direktori sftp – /srv/sftp
.
Contoh:jika saya ingin pengguna mengakses direktori /srv/sftp/paymentfiles
, lakukan hal berikut:
Buat direktori
sudo mkdir /srv/sftp/paymentfiles
Kemudian tetapkan pengguna (citizix
) akses dengan menjadikan mereka pemilik direktori:
sudo chown citizix:sftpusers /srv/sftp/paymentfiles
Anda sekarang dapat mengakses konten direktori.
Kesimpulan
Dalam panduan ini kami berhasil mengatur server SFTP di server berbasis RHEL 8 seperti Rocky Linux atau Centos 8.