File Transfer Protocol je standardní komunikační protokol používaný pro přenos počítačových souborů ze serveru na klienta v počítačové síti.
FTP dnes není populární, protože postrádá zabezpečení. Když je soubor odeslán pomocí tohoto protokolu, data, uživatelské jméno a heslo jsou sdíleny v prostém textu, což znamená, že hacker může k těmto informacím přistupovat s minimálním nebo žádným úsilím. Aby byla data v bezpečí, musíte použít upgradovanou verzi FTP, jako je SFTP.
SFTP Secure File Transfer Protocol je protokol pro přenos souborů, který poskytuje bezpečný přístup ke vzdálenému počítači za účelem zajištění zabezpečené komunikace. Využívá SSH – Secure Socket Shell a často se také nazývá „Secure Shell File Transfer Protocol“.
Související obsah
- Jak nainstalovat a nastavit sftp server v Ubuntu 20.04
- Jak nastavit server SFTP na serveru OpenSUSE Leap 15.3
Předpoklady
Chcete-li postupovat podle této příručky, ujistěte se, že máte následující:
- Systém založený na Centos 8 nebo RHEL 8
- Přístup uživatele root k serveru nebo uživatel s přístupem root
Obsah
- Instalace ssh ve službě, pokud není přítomen
- Vytváření uživatelů a skupin a přidávání potřebných adresářů
- Konfigurace služby ssh
- Ověření, že nastavení funguje podle očekávání
1. Instalace ssh ve službě, pokud není přítomen
Než budete pokračovat, ujistěte se, že je váš systém aktuální:
$ 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!
Poté ověřte, že je ssh nainstalováno a zda je v provozu:
$ 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!
Spusťte službu
sudo systemctl restart sshd
2. Vytváření uživatelů a skupin a přidávání potřebných adresář
Dále zajistíme přítomnost potřebných uživatelů v systému. V mém případě bych chtěl mít uživatele sftp doma jako /srv/sftp
Vytvořme domovskou stránku /srv/sftp
pomocí tohoto příkazu:
sudo mkdir /srv/sftp
Poté vytvořte zastřešující skupinu pouze pro SFTP
sudo groupadd sftpusers
Poté vytvořte uživatele pouze sftp:
sudo useradd -G sftpusers -d /srv/sftp/citizix -s /sbin/nologin citizix
Výše uvedené možnosti dělají následující:
-G sftpusers
:Vytvořte uživatele, přidejte dosftpusers
skupina-d /srv/sftp/citizix
:Nastavte domovský adresář jako/srv/sftp/citizix
-s /sbin/nologin
:Nechceme, aby se uživatel přihlásil, takže žádný přihlašovací shell ssh- Nakonec uživatelské jméno jako
citizix
Poté přidejte heslo k vytvořenému uživateli pomocí tohoto příkazu:
$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
3. Konfigurace služby ssh
Nyní, když jsme nainstalovali potřebný software a vytvořili uživatele a skupiny, pojďme nakonfigurovat ssh.
Ujistěte se, že je povoleno ověřování heslem pro ssh. Upravte konfigurační soubor zde /etc/ssh/sshd_config
:
sudo vim /etc/ssh/sshd_config
Pak se ujistěte, že tento řádek není komentován:
PasswordAuthentication yes
Dále musíme přidat pravidla pro uživatele v sftpusers
skupinu považovat za sftp. Upravte konfigurační soubor:
sudo vim /etc/ssh/sshd_config
Přidejte tento obsah na konec souboru:
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /srv/sftp
ForceCommand internal-sftp
Poté restartujte sshd a znovu načtěte konfiguraci:
sudo systemctl restart sshd
Ověřte, že sshd
běží podle očekávání:
$ 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. Ověření, že nastavení funguje podle očekávání
Po úspěšném vytvoření uživatele a přidání konfigurací sftp otestujeme nastavení pomocí příkazu:
❯ sftp [email protected]
[email protected]'s password:
Connected to 3.250.122.68.
sftp> ls
citizix
sftp>
Nyní máme sftp server zprovozněn a spuštěn s uživatelem nakonfigurovaným!
Uživatelé se budou moci přihlásit k serveru a přistupovat k souborům a adresářům umístěným v jejich domovském adresáři. Pokud chcete uživateli poskytnout jiné adresáře mimo jeho vlastní adresář, ujistěte se, že má uživatel dostatečná práva pro přístup. Tyto adresáře a soubory musí být v adresáři sftp – /srv/sftp
.
Příklad:pokud chci, aby uživatel měl přístup do adresáře /srv/sftp/paymentfiles
, proveďte následující:
Vytvořte adresář
sudo mkdir /srv/sftp/paymentfiles
Poté přiřaďte uživatele (citizix
) přístup tak, že jim udělíte adresář:
sudo chown citizix:sftpusers /srv/sftp/paymentfiles
Nyní máte přístup k obsahu adresáře.
Závěr
V této příručce se nám podařilo nastavit server SFTP na serveru založeném na RHEL 8, jako je Rocky Linux nebo Centos 8.