GNU/Linux >> Znalost Linux >  >> Debian

Jak vytvořit uživatele pouze SFTP v Debianu 11

SFTP (SSH File Transfer Protocol) je zabezpečený souborový protokol používaný k přístupu, správě a přenosu souborů přes šifrovanou přenosovou relaci SSH. Bezpečnost na prvním místě je základním pravidlem pro správce systému. V některých případech potřebujeme umožnit vzdáleným uživatelům přístup k souborovému systému v našem systému, ale nechcete jim dovolit získat shell. To vám umožní bezpečný kanál poskytující omezený přístup ke konkrétním souborům a adresářům.

Tento tutoriál vám pomůže nastavit pouze přístup SFTP (bez přístupu k shellu) v systému Debian 11. Ve vašem systému vytvoří chroot prostředí, které omezí uživatele SFTP pouze na určitý adresář. Také to umožní uživateli pouze přístup SFTP bez přístupu SSH.

Předpoklady

  • Spuštěný systém Debian 11 Bullseye Linux
  • Musíte mít privilegovaný účet sudo s přístupem k shellu

Krok 1 – Vytvoření nového uživatele

Nejprve vytvořte nového uživatele pro připojení k serveru sftp. Následující příkaz vytvoří nový účet s názvem sftpuser bez přístupu k shellu. Můžete použít jakýkoli název podle svého výběru nebo požadavku.

sudo adduser --shell /bin/false sftpuser 

Krok 2 – Vytvořte adresář pro přístup SFTP

Vytvořili jste uživatele pro sftp. Nyní vytvořte adresář pro konfiguraci jako chroot pro sftp. Pro tento příklad vytvořím /var/sftp adresář. Adresář musí mít kořenové vlastnictví, aby bylo možné nakonfigurovat jako chroot adresář. Vytvoříme tedy podadresář pod /var/sftp s přístupem pro zápis do účtu sftp.

Vytvořte adresářovou strukturu pomocí následujícího příkazu:

sudo mkdir -p /var/sftp/files 

Dále musíme nastavit správná oprávnění pro adresáře, které se mají nakonfigurovat jako chroot přístup s přístupem pro zápis uživateli. Zde /var/sftp musí mít kořenové vlastnictví a skupinu s příslušným oprávněním. Chcete-li nastavit toto oprávnění, zadejte:

sudo chown root:root /var/sftp 
sudo chmod 755 /var/sftp 

Nyní změňte oprávnění pro "files" adresář umožňující zápis do sftpuser. Chcete-li tato oprávnění nastavit, zadejte:

sudo chown sftpuser:sftpuser /var/sftp/files 

Jakmile se sftpuser připojí k serveru, získá /var/sftp jako kořenový adresář. Nemůže přistupovat k souborovému systému mimo něj. Uživatel také může číst/zapisovat soubory pouze v adresáři „files“.

Krok 3 – Konfigurace sshd pouze pro SFTP

Dále musíte nakonfigurovat server SSH tak, aby umožnil „sftpuseru“ připojit server pouze k sFTP bez přístupu k shellu. Chcete-li provést potřebné změny, upravte konfigurační soubor SSH.

sudo nano /etc/ssh/sshd_config 

a na konec souboru přidejte následující nastavení.

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

Znovu zkontrolujte, zda jsou všechna nastavení správná. Poté uložte změny a restartujte službu SSH, aby se změny projevily.

sudo systemctl restart ssh 

Vše hotovo, použití pouze SFTP je úspěšně vytvořeno na vašem systému Debian. Nyní se zkuste přihlásit do vzdáleného systému pomocí přihlašovacích údajů nového uživatele a zkontrolujte, zda vše funguje správně.

Krok 4 – Připojte se k SFTP

Ke vzdálenému SFTP serveru se lze připojit pomocí příkazového řádku nebo grafických aplikací jako Filezilla nebo WinSCP. V tomto tutoriálu vám ukážu oba způsoby připojení SFTP serveru.

Uživatelé Linuxu mohou použít nástroj příkazového řádku sftp pro připojení ke vzdáleným instancím sftp.

sftp [email protected] 

[email protected]'s password:
sftp>

GUI rozhraní nebo uživatelé Windows mohou používat grafické klienty sftp. Například použijte klienta Filezilla k připojení vzdáleného účtu pouze sftp na vzdáleném systému.

Ověřte žádný přístup k prostředí:

Protože tento účet je nakonfigurován pouze pro připojení SFTP. Pokud se tedy některý uživatel pokusil připojit přes SSH, bude ihned po úspěšné autentizaci odpojen. Uživatel obdrží zprávu níže:

ssh [email protected] 

[email protected]'s password:
This service allows sftp connections only.
Connection to sftp.tecadmin.net closed.

Závěr

V tomto návodu jste se naučili vytvářet prostředí chroot jail pro uživatele SFTP bez shellového přístupu k serveru. Prostředí Chroot zabezpečuje souborový systém tím, že brání uživatelům v přístupu k souborům mimo definovaný adresář. Tento tutoriál je vytvořen a testován se systémem Debian 11 Bullseye, ale bude fungovat i na jiných verzích Debianu.


Debian
  1. Jak nastavit SFTP server na Debian 11 Server

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

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

  1. Jak vytvořit uživatele Sudo v Debianu

  2. Jak vytvořit a smazat uživatele v Debianu 9

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

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

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

  3. Jak omezit su přístup pouze uživateli pomocí PAM v Linuxu