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
- Unduh File dari server SFTP Menggunakan skrip python
- Daftar, Unggah, dan Unduh file dari Server SFTP menggunakan golang
- Cara menyiapkan server SFTP di Server OpenSUSE Leap 15.3
- Cara menginstal dan menyiapkan server sftp di Ubuntu 20.04
- Cara menyiapkan server SFTP di Server CentOS 8 /RHEL 8
Prasyarat
Untuk mengikuti panduan ini, pastikan Anda memiliki hal berikut:
- Server Debian 11
- Akses root ke server atau pengguna dengan akses root
- Akses internet dari server
Daftar Isi
- Memastikan bahwa server selalu mutakhir
- Memastikan bahwa layanan SSH telah terinstal
- Membuat pengguna dan grup serta menambahkan direktori yang diperlukan
- Mengonfigurasi layanan ssh
- Memverifikasi bahwa penyiapan berfungsi seperti yang diharapkan
1. Memastikan bahwa server sudah diperbarui
Sebelum melanjutkan, pastikan sistem Anda mutakhir. Gunakan perintah ini untuk menyegarkan paket sistem dan memperbaruinya.
sudo apt update
sudo apt upgrade -y
2. Memastikan bahwa layanan SSH telah terinstal
Pastikan ssh sudah terpasang:
$ sudo apt install -y openssh-server
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
openssh-server is already the newest version (1:8.4p1-5).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Sekarang setelah diinstal, mulai layanan
sudo systemctl start sshd
Konfirmasi statusnya
$ sudo systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-12-03 10:18:03 UTC; 2 days ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 665 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 682 (sshd)
Tasks: 1 (limit: 4626)
Memory: 6.2M
CPU: 9.132s
CGroup: /system.slice/ssh.service
└─682 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
Dec 05 09:20:46 ip-10-2-40-122 sshd[14717]: Received disconnect from 221.181.185.94 port 47597:11: [preauth]
Dec 05 09:20:46 ip-10-2-40-122 sshd[14717]: Disconnected from authenticating user root 221.181.185.94 port 47597 [preauth]
Dec 05 10:34:30 ip-10-2-40-122 sshd[14797]: Received disconnect from 222.186.30.76 port 23207:11: [preauth]
Dec 05 10:34:30 ip-10-2-40-122 sshd[14797]: Disconnected from authenticating user root 222.186.30.76 port 23207 [preauth]
Dec 05 10:34:41 ip-10-2-40-122 sshd[14799]: Received disconnect from 221.181.185.151 port 18104:11: [preauth]
Dec 05 10:34:41 ip-10-2-40-122 sshd[14799]: Disconnected from authenticating user root 221.181.185.151 port 18104 [preauth]
Dec 05 11:11:54 ip-10-2-40-122 sshd[14830]: Received disconnect from 221.131.165.65 port 19729:11: [preauth]
Dec 05 11:11:54 ip-10-2-40-122 sshd[14830]: Disconnected from authenticating user root 221.131.165.65 port 19729 [preauth]
Dec 05 11:19:03 ip-10-2-40-122 sshd[14840]: Accepted publickey for admin from 105.231.148.146 port 60649 ssh2: RSA SHA256:nDQ1FMciYtGpPYjdOwbUTVg7kQxEFtAjoSdWulRilIA
Dec 05 11:19:03 ip-10-2-40-122 sshd[14840]: pam_unix(sshd:session): session opened for user admin(uid=1000) by (uid=0)
3. 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 di rumah 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 bernama citizix:
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 beranda sebagai/srv/sftp/citizix
-s /sbin/nologin
:Kami tidak ingin pengguna login, jadi tidak ada shell login ssh- Terakhir, nama pengguna sebagai
citizix
Kemudian tambahkan kata sandi ke pengguna yang dibuat menggunakan perintah ini:
$ sudo passwd citizix
New password:
Retype new password:
passwd: password 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
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-12-05 11:22:02 UTC; 12s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 15292 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 15293 (sshd)
Tasks: 1 (limit: 4626)
Memory: 1.0M
CPU: 159ms
CGroup: /system.slice/ssh.service
└─15293 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
Dec 05 11:22:02 ip-10-2-40-122 systemd[1]: Starting OpenBSD Secure Shell server...
Dec 05 11:22:02 ip-10-2-40-122 sshd[15293]: Server listening on 0.0.0.0 port 22.
Dec 05 11:22:02 ip-10-2-40-122 sshd[15293]: Server listening on :: port 22.
Dec 05 11:22:02 ip-10-2-40-122 systemd[1]: Started OpenBSD Secure Shell server.
4. Memverifikasi bahwa penyiapan berfungsi seperti yang diharapkan
Setelah berhasil membuat pengguna dan menambahkan konfigurasi sftp, mari kita uji pengaturan menggunakan perintah:
❯ sftp [email protected]
[email protected]'s password:
Connected to 18.236.122.10.
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 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
Hanya itu saja. Pengguna sekarang seharusnya memiliki akses.
Kesimpulan
Kami berhasil menyiapkan server sftp di Debian 11 dalam panduan ini.