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 bekerja dengan klien SFTP di Linux – 10 perintah sftp
- Cara menyiapkan server SFTP di Server Debian 11
- Unduh File dari server SFTP Menggunakan skrip python
- Daftar, Unggah, dan Unduh file dari Server SFTP menggunakan golang
- Cara menginstal dan menyiapkan server sftp di Ubuntu 20.04
- Cara menyiapkan server SFTP di Server OpenSUSE Leap 15.3
- Cara menyiapkan server SFTP di Server CentOS 8 /RHEL 8
Prasyarat
Untuk mengikuti panduan ini, pastikan Anda memiliki hal berikut:
- Server OpenSUSE Leap 15.3
- 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 zypper ref
sudo zypper update -y
2. Memastikan bahwa layanan SSH telah terinstal
Verifikasi bahwa ssh telah diinstal dan aktif dan berjalan:
~> sudo zypper install openssh-server
Loading repository data...
Reading installed packages...
'openssh-server' is already installed.
No update candidate for 'openssh-server-8.4p1-3.3.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.
Sekarang setelah diinstal, mulai layanan
sudo systemctl start sshd
Konfirmasi statusnya
~> sudo systemctl status sshd
● sshd.service - OpenSSH Daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2021-12-03 10:19:26 UTC; 29min ago
Main PID: 1419 (sshd)
Tasks: 1
CGroup: /system.slice/sshd.service
└─1419 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
Dec 03 10:19:26 ip-10-2-40-46 sshd[1419]: Server listening on 0.0.0.0 port 22.
Dec 03 10:19:26 ip-10-2-40-46 sshd[1419]: Server listening on :: port 22.
Dec 03 10:19:26 ip-10-2-40-46 systemd[1]: Started OpenSSH Daemon.
Dec 03 10:21:13 ip-10-2-40-46 sshd[1507]: Received disconnect from 92.255.85.37 port 43914:11: Bye Bye [preauth]
Dec 03 10:21:13 ip-10-2-40-46 sshd[1507]: Disconnected from authenticating user root 92.255.85.37 port 43914 [preauth]
Dec 03 10:33:40 ip-10-2-40-46 sshd[1977]: Accepted publickey for ec2-user from 105.231.31.248 port 60453 ssh2: RSA SHA256:nDQ1FM>
Dec 03 10:33:40 ip-10-2-40-46 sshd[1977]: pam_unix(sshd:session): session opened for user ec2-user by (uid=0)
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Invalid user huawei from 92.255.85.37 port 36540
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Received disconnect from 92.255.85.37 port 36540:11: Bye Bye [preauth]
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Disconnected from invalid user huawei 92.255.85.37 port 36540 [preauth]
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
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 Daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2021-12-03 11:22:18 UTC; 5min ago
Process: 15765 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS)
Process: 15770 ExecStartPre=/usr/sbin/sshd -t $SSHD_OPTS (code=exited, status=0/SUCCESS)
Main PID: 15780 (sshd)
Tasks: 1
CGroup: /system.slice/sshd.service
└─15780 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
Dec 03 11:22:18 ip-10-2-40-46 systemd[1]: Starting OpenSSH Daemon...
Dec 03 11:22:18 ip-10-2-40-46 sshd-gen-keys-start[15765]: Checking for missing server keys in /etc/ssh
Dec 03 11:22:18 ip-10-2-40-46 sshd[15780]: Server listening on 0.0.0.0 port 22.
Dec 03 11:22:18 ip-10-2-40-46 sshd[15780]: Server listening on :: port 22.
Dec 03 11:22:18 ip-10-2-40-46 systemd[1]: Started OpenSSH Daemon.
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 52.24.157.181.
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 OpenSUSE Leap 15.3 dalam panduan ini.