GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un utente SFTP senza accesso alla shell su CentOS 8

SFTP sta per "SSH File Transfer Protocol". SFTP è un protocollo di trasferimento file utilizzato per trasferire file tra due server. Per impostazione predefinita, SFTP consente di trasferire file su tutti i server con accesso SSH abilitato. Tuttavia, garantirà l'accesso al terminale a tutti gli utenti e questo non è raccomandato per motivi di sicurezza.

In questo tutorial impareremo come creare un utente SFTP senza accesso alla shell in modo che l'utente abbia solo accesso SFTP e non accesso SSH.

Prerequisiti

  • Un nuovo VPS CentOS 8 sulla piattaforma Atlantic.net Cloud.
  • Una password di root configurata sul tuo server.

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo CentOS 8 come sistema operativo con almeno 1 GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al server CentOS 8, esegui il comando seguente per aggiornare il sistema di base con gli ultimi pacchetti disponibili.

dnf update -y

Fase 2:crea un utente SFTP

Innanzitutto, dovrai creare un nuovo utente con solo accesso al trasferimento di file. Puoi creare un nuovo utente chiamato sftp usando il seguente comando:

adduser sftp

Quindi, imposta la password per l'utente di cui sopra:

passwd sftp

Fornisci la password desiderata e premi invio.

Fase 3:crea una struttura di directory per i trasferimenti di file

Successivamente, dovrai creare una struttura di directory per il trasferimento di file per limitare l'accesso SFTP a una directory.

Puoi creare una nuova directory con il seguente comando:

mkdir -p /opt/sftp/public

Quindi, imposta la proprietà della directory /opt/sftp/ su root:

chown root:root /opt/sftp

Quindi, dai le autorizzazioni appropriate con il seguente comando:

chmod 755 /opt/sftp

Quindi, imposta la proprietà della directory pubblica sull'utente sftp:

chown sftp:sftp /opt/sftp/public

Fase 4 – Configura SSH per SFTP

Successivamente, dovrai configurare SSH per limitare l'accesso a una directory e impedire l'accesso al terminale all'utente sftp.

Puoi farlo modificando il file /etc/ssh/sshd_config:

nano /etc/ssh/sshd_config

Aggiungi le seguenti righe alla fine del file:

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

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio SSH per implementare le modifiche:

systemctl restart sshd

Fase 5:verifica SFTP

Ora verifica l'accesso SFTP con il seguente comando:

sftp [email protected]

Ti verrà chiesto di fornire una password come mostrato di seguito:

[email protected]'s password:

Fornisci la tua password utente sftp e premi Invio. Una volta connesso, dovresti vedere il seguente output:

Connected to your-server-ip.
sftp>

Quindi, esegui il comando seguente per elencare la directory:

sftp> ls

Dovresti vedere la directory pubblica nel seguente output:

public 
sftp>

Quindi, verifica se sei in grado di stabilire una connessione SSH o meno:

ssh [email protected]

Ti verrà chiesto di fornire una password come mostrato di seguito:

[email protected]'s password:

Fornisci la tua password utente sftp e premi Invio. Dovresti vedere il seguente output:

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

L'output sopra indica che l'utente sftp non può più accedere alla shell del server tramite SSH.

Conclusione

Congratulazioni! Hai configurato correttamente SFTP senza accesso alla shell su CentOS 8. Puoi anche utilizzare questa configurazione per più utenti e directory. Inizia oggi stesso con SFTP su un VPS di Atlantic.Net!


Linux
  1. Centos:come creare un utente non privilegiato in Centos?

  2. Centos:come creare un utente Sftp in Centos?

  3. Come configurare VSFTPD su CentOS 7.x?

  4. Come posso creare un utente solo per sftp?

  5. Abilita l'accesso alla shell SSH ma disabilita l'accesso SFTP

Come creare ed eseguire uno script di shell in CentOS 8

Come creare un utente solo SFTP in Debian 11

Come creare un utente Sudo su CentOS

Come limitare l'utente root in CentOS

Come installare Dgraph su CentOS 8

Come creare un utente o un contatto