GNU/Linux >> Belajar Linux >  >> Arch Linux

Cara mengatur server SFTP di Arch Linux

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 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:

  1. Mesin Arch Linux
  2. Akses root ke server atau pengguna dengan akses root
  3. Akses internet dari server

Daftar Isi

  1. Memastikan bahwa server selalu mutakhir
  2. Memastikan bahwa layanan SSH telah terinstal
  3. Membuat pengguna dan grup serta menambahkan direktori yang diperlukan
  4. Mengonfigurasi layanan ssh
  5. 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 pacman -Syyu

2. Memastikan bahwa layanan SSH telah terinstal

Pastikan ssh sudah terpasang:

$ sudo pacman -Qi openssh
Name            : openssh
Version         : 8.6p1-1
Description     : Premier connectivity tool for remote login with the SSH protocol
Architecture    : x86_64
URL             : https://www.openssh.com/portable.html
Licenses        : custom:BSD
Groups          : None
Provides        : None
Depends On      : glibc  krb5  openssl  libedit  ldns  libxcrypt  libcrypt.so=2-64  zlib  pam
Optional Deps   : xorg-xauth: X11 forwarding
                  x11-ssh-askpass: input passphrase in X
                  libfido2: FIDO/U2F support
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 5.79 MiB
Packager        : Giancarlo Razzolini <[email protected]>
Build Date      : Mon 19 Apr 2021 11:32:46 AM UTC
Install Date    : Thu 03 Jun 2021 03:23:32 AM UTC
Install Reason  : Explicitly installed
Install Script  : Yes
Validated By    : Signature

Jika ssh tidak diinstal, instal dengan perintah ini:

sudo pacman -S openssh

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:02 UTC; 17min ago
   Main PID: 467 (sshd)
      Tasks: 1 (limit: 4606)
     Memory: 5.0M
     CGroup: /system.slice/sshd.service
             └─467 sshd: /usr/bin/sshd -D [listener] 0 of 10-100 startups

Dec 04 14:53:30 ip-10-2-40-103 sshd[13109]: Unable to negotiate with 141.98.10.246 port 34078: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exc>
Dec 04 14:53:42 ip-10-2-40-103 sshd[13111]: Unable to negotiate with 141.98.10.246 port 38674: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exc>
Dec 04 14:53:53 ip-10-2-40-103 sshd[13115]: Unable to negotiate with 141.98.10.246 port 43268: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exc>
Dec 04 14:54:05 ip-10-2-40-103 sshd[13117]: Unable to negotiate with 141.98.10.246 port 47864: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exc>
Dec 04 14:54:17 ip-10-2-40-103 sshd[13119]: Unable to negotiate with 141.98.10.246 port 52460: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exc>
Dec 04 14:54:41 ip-10-2-40-103 sshd[13123]: Unable to negotiate with 141.98.10.246 port 33418: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exc>
Dec 04 14:54:53 ip-10-2-40-103 sshd[13127]: Unable to negotiate with 141.98.10.246 port 38014: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exc>
Dec 04 14:55:05 ip-10-2-40-103 sshd[13129]: Unable to negotiate with 141.98.10.246 port 42614: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group-exc>
Dec 04 15:16:10 ip-10-2-40-103 sshd[13191]: Received disconnect from 61.177.173.21 port 60983:11:  [preauth]
Dec 04 15:16:10 ip-10-2-40-103 sshd[13191]: Disconnected from authenticating user root 61.177.173.21 port 60983 [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 ke sftpusers 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 Sat 2021-12-04 15:48:19 UTC; 18s ago
   Main PID: 14269 (sshd)
      Tasks: 1 (limit: 4606)
     Memory: 892.0K
     CGroup: /system.slice/sshd.service
             └─14269 sshd: /usr/bin/sshd -D [listener] 0 of 10-100 startups

Dec 04 15:48:19 ip-10-2-40-103 systemd[1]: Started OpenSSH Daemon.
Dec 04 15:48:19 ip-10-2-40-103 sshd[14269]: Server listening on 0.0.0.0 port 22.
Dec 04 15:48:19 ip-10-2-40-103 sshd[14269]: Server listening on :: port 22.

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]10.2.11.8's password:
Connected to 10.2.11.8.
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 Server Archlinux dalam panduan ini.


Arch Linux
  1. Cara mengatur server SFTP di Server Rocky Linux/CentOS 8

  2. Cara mengatur server SFTP di Server Debian 11

  3. Cara mengatur server Wekan Kanban di Linux

  1. Cara Mengatur Server Minecraft Khusus di Linux

  2. Cara mengatur jail chroot Linux

  3. Cara mengatur server SFTP di OpenSUSE Leap 15.3 Server

  1. Cara Menginstal Arch Linux

  2. Cara Mengkonfigurasi Server SFTP Chroot di Linux

  3. Cara Menginstal VirtualBox di Arch Linux