GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit uživatele SFTP bez Shell Access na CentOS 8

SFTP je zkratka pro „SSH File Transfer Protocol“. SFTP je protokol pro přenos souborů používaný k přenosu souborů mezi dvěma servery. Ve výchozím nastavení vám SFTP umožňuje přenášet soubory na všechny servery, které mají povolený přístup SSH. Udělí však terminálový přístup všem uživatelům a to se z bezpečnostních důvodů nedoporučuje.

V tomto tutoriálu se naučíme, jak vytvořit uživatele SFTP bez přístupu k shellu, aby měl uživatel pouze přístup SFTP a nikoli přístup SSH.

Předpoklady

  • Nový CentOS 8 VPS na cloudové platformě Atlantic.net.
  • Heslo uživatele root nakonfigurované na vašem serveru.

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte CentOS 8 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte k serveru CentOS 8, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

dnf update -y

Krok 2 – Vytvoření uživatele SFTP

Nejprve budete muset vytvořit nového uživatele s přístupem pouze pro přenos souborů. Nového uživatele s názvem sftp můžete vytvořit pomocí následujícího příkazu:

adduser sftp

Dále nastavte heslo pro výše uvedeného uživatele:

passwd sftp

Zadejte požadované heslo a stiskněte Enter.

Krok 3 – Vytvořte adresářovou strukturu pro přenos souborů

Dále budete muset vytvořit adresářovou strukturu pro přenos souborů, abyste omezili přístup SFTP na jeden adresář.

Nový adresář můžete vytvořit pomocí následujícího příkazu:

mkdir -p /opt/sftp/public

Dále nastavte vlastnictví adresáře /opt/sftp/ na root:

chown root:root /opt/sftp

Dále udělte správná oprávnění pomocí následujícího příkazu:

chmod 755 /opt/sftp

Dále nastavte vlastnictví veřejného adresáře na uživatele sftp:

chown sftp:sftp /opt/sftp/public

Krok 4 – Konfigurace SSH pro SFTP

Dále budete muset nakonfigurovat SSH tak, aby omezil přístup do jednoho adresáře a zakázal terminálový přístup uživateli sftp.

Můžete to udělat úpravou souboru /etc/ssh/sshd_config:

nano /etc/ssh/sshd_config

Na konec souboru přidejte následující řádky:

Match User sftp
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /opt/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Po dokončení uložte a zavřete soubor. Poté restartujte službu SSH, abyste provedli změny:

systemctl restart sshd

Krok 5 – Ověřte SFTP

Nyní ověřte přístup SFTP pomocí následujícího příkazu:

sftp [email protected]

Budete požádáni o zadání hesla, jak je uvedeno níže:

[email protected]'s password:

Zadejte své uživatelské heslo sftp a stiskněte Enter. Po připojení byste měli vidět následující výstup:

Connected to your-server-ip.
sftp>

Dále spusťte následující příkaz pro zobrazení adresáře:

sftp> ls

Veřejný adresář byste měli vidět v následujícím výstupu:

public 
sftp>

Dále ověřte, zda jste schopni vytvořit připojení SSH nebo ne:

ssh [email protected]

Budete požádáni o zadání hesla, jak je uvedeno níže:

[email protected]'s password:

Zadejte své uživatelské heslo sftp a stiskněte Enter. Měli byste vidět následující výstup:

This service allows sftp connections only.
Connection to your-server-ip closed.

Výše uvedený výstup znamená, že uživatel sftp již nemůže přistupovat k shellu serveru přes SSH.

Závěr

Gratulujeme! Úspěšně jste nakonfigurovali SFTP bez přístupu k shellu na CentOS 8. Toto nastavení můžete také použít pro více uživatelů a adresář. Začněte s SFTP ještě dnes na VPS od Atlantic.Net!


Linux
  1. Jak nastavit SFTP server na CentOS

  2. Centos – Jak vytvořit neprivilegovaného uživatele v Centos?

  3. Jak vytvořit uživatele sudo na CentOS 7

  1. Vytvořte uživatele sudo v CentOS

  2. Jak mohu vytvořit uživatele pouze pro sftp?

  3. Povolit přístup k shellu SSH, ale zakázat přístup SFTP

  1. Jak vytvořit uživatele Sudo na CentOS, Ubuntu a Debianu

  2. Centos – Jak vytvořit Sftp uživatele v Centos?

  3. Jak vytvořit nového uživatele s přístupem Ssh?