GNU/Linux >> Linux Esercitazione >  >> Linux

Imposta SFTP e Previeni SSH su Ubuntu 20.04

Imposta SFTP e Previeni SSH su Ubuntu 20.04. SFTP (Secure File transfer Protocol), un modo sicuro per trasferire file ai server utilizzando connessioni SSH crittografate. Tutti i server con SSH avranno SFTP abilitato per impostazione predefinita.

In questa guida imparerai come limitare l'accesso SFTP a una directory per un particolare utente e impedire l'accesso SSH.

Questa configurazione è testata su una macchina virtuale con sistema operativo Ubuntu 20.04. Quindi questo tutorial dovrebbe funzionare su qualsiasi server con Ubuntu.

Prerequisiti

Accesso SSH al server con privilegi sudo.

Fase 1:crea un nuovo utente

Crea un nuovo utente con accesso SFTP per eseguire determinate azioni su una directory particolare.

sudo adduser username

Ti verrà chiesto di impostare una password e altri dettagli facoltativi che puoi impostare o ignorare.

Se desideri utilizzare l'accesso basato su chiavi SSH, controlla come configurare l'accesso SSH su Ubuntu.

Fase 2:imposta l'accesso SFTP

Per configurare l'accesso SFTP è necessario configurare i permessi di directory corretti, la directory principale della nuova directory che stai per creare deve essere di proprietà di root e non di altri utenti.

Ad esempio, se stai per creare una directory denominata /sftp/folder , il sftp la directory dovrebbe essere di proprietà di root e il folder la directory dovrebbe essere di proprietà del particolare utente chi vi accede.

Crea directory.

sudo mkdir -p /sftp/folder

Configura le autorizzazioni corrette.

sudo chmod 755 /sftp
sudo chown root:root /sftp
sudo chmod -R 755 /sftp/folder
sudo chown username:username /sftp/folder

Fase 3:Impedisci l'accesso SSH e limita l'accesso SFTP

Ora possiamo modificare la configurazione SSH per impedire l'accesso SSH per l'utente e limitare l'accesso dell'utente solo a una directory particolare.

Modifica il file di configurazione SSH.

sudo nano /etc/ssh/sshd_config

Aggiungi quanto segue alla fine del file.

Match User username
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory /sftp
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no
  • Match User indica al server SSH di applicare i seguenti comandi solo all'utente specificato.
  • ForceCommand internal-sftp forza il server SSH a eseguire il server SFTP all'accesso e impedisce l'accesso SSH.
  • PasswordAuthentication yes consente l'autenticazione tramite password per questo utente. Se utilizzi l'accesso basato su chiavi SSH, puoi impedire l'autenticazione basata su password impostando il valore su no .
  • ChrootDirectory /sftp assicura che all'utente non sarà consentito l'accesso a qualsiasi cosa oltre a /sftp directory.
  • AllowAgentForwarding no , AllowTcpForwarding no e X11Forwarding no disabilita rispettivamente il port forwarding, il tunneling e l'X11 forwarding.

Premi CTRL + X seguito da Y e poi ENTER per salvare ed uscire dal file.

Ora sono disponibili le configurazioni che consentono solo l'accesso SFTP e impediscono l'accesso SSH per l'utente.

Riavvia il servizio SSH per rendere effettive le modifiche.

sudo systemctl restart sshd

Per maggiori dettagli sulla configurazione dell'accesso per più nomi utente, puoi seguire questa guida all'installazione di Chroot.

Fase 4:verifica la configurazione SFTP

Prova ad accedere al server usando i tuoi dettagli SFTP con il comando SSH. Ti verrà negato l'accesso a SSH.

ssh [email protected]_ip

Riceverai un output simile a quello qui sotto.

Output
This service allows sftp connections only.
Connection to server_ip closed.

Ora verifica usando il comando sftp.

sftp [email protected]_ip

Ora dovresti essere loggato al server e avere accesso alla directory che hai configurato in precedenza.

Output
Connected to server_ip
sftp>

Usa il ls comando per elencare le directory vedrai la directory denominata folder hai creato e configurato le autorizzazioni.

sftp> ls
Output
folder

Conclusione

Ora hai imparato come configurare SFTP e impedire l'accesso SSH all'utente su una directory specifica.

Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.


Linux
  1. Come configurare il server SFTP MySecureShell su Ubuntu 18.04

  2. Come installare e configurare il server sftp in Ubuntu 20.04

  3. Ssh:limitare un utente Ssh/scp/sftp a una directory?

  4. Installazione e configurazione di OpenSSH su Ubuntu e distribuzioni basate su Debian

  5. Come installare e configurare Discourse su un VPS Ubuntu 12.04

Come installare e configurare RabbitMQ su Ubuntu 16.04

Come installare e configurare Apache Spark su Ubuntu 21.04

Come configurare e utilizzare Google Drive su Ubuntu 20.04

Come installare e configurare Zsh in Ubuntu 20.04

Cambia la tua porta SSH in Ubuntu e Debian

Come installare e configurare Sendmail su Ubuntu