GNU/Linux >> Linux Esercitazione >  >> OpenSuse

Come configurare un server SFTP su OpenSUSE Leap 15.3 Server

Il File Transfer Protocol è un protocollo di comunicazione standard utilizzato per il trasferimento di file di computer da un server a un client su una rete di computer.

FTP non è popolare oggi perché manca di sicurezza. Quando un file viene inviato utilizzando questo protocollo, i dati, il nome utente e la password sono tutti condivisi in testo normale, il che significa che un hacker può accedere a queste informazioni con uno sforzo minimo o nullo. Affinché i dati siano protetti, devi utilizzare una versione aggiornata di FTP come SFTP.

SFTP Secure File Transfer Protocol è un protocollo di trasferimento file che fornisce un accesso sicuro a un computer remoto per fornire comunicazioni sicure. Sfrutta SSH - Secure Socket Shell ed è spesso indicato anche come "Secure Shell File Transfer Protocol".

Contenuti correlati

  • Come lavorare con il client SFTP in Linux – 10 comandi sftp
  • Come configurare un server SFTP su Debian 11 Server
  • Scarica file dal server SFTP utilizzando uno script python
  • Elenca, carica e scarica file da un server SFTP utilizzando golang
  • Come installare e configurare il server sftp in Ubuntu 20.04
  • Come configurare un server SFTP su OpenSUSE Leap 15.3 Server
  • Come configurare un server SFTP su CentOS 8 /RHEL 8 Server

Prerequisiti

Per seguire questa guida assicurati di avere quanto segue:

  1. Server OpenSUSE Leap 15.3
  2. Accesso root al server o utente con accesso root
  3. Accesso a Internet dal server

Indice dei contenuti

  1. Assicurarsi che il server sia aggiornato
  2. Assicurarsi che il servizio SSH sia installato
  3. Creazione di utenti e gruppi e aggiunta delle directory necessarie
  4. Configurazione del servizio ssh
  5. Verifica che la configurazione funzioni come previsto

1. Garantire che il server sia aggiornato

Prima di procedere, assicurati che il tuo sistema sia aggiornato. Utilizzare questo comando per aggiornare i pacchetti di sistema e aggiornarli.

sudo zypper ref
sudo zypper update -y

2. Assicurarsi che il servizio SSH sia installato

Verifica che ssh sia installato e sia attivo e funzionante:

~> sudo zypper install openssh-server
Loading repository data...
Reading installed packages...
'openssh-server' is already installed.
No update candidate for 'openssh-server-8.4p1-3.3.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.

Ora che è installato, avvia il servizio

sudo systemctl start sshd

Conferma il suo stato

~> sudo systemctl status sshd
● sshd.service - OpenSSH Daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-12-03 10:19:26 UTC; 29min ago
   Main PID: 1419 (sshd)
      Tasks: 1
     CGroup: /system.slice/sshd.service
             └─1419 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Dec 03 10:19:26 ip-10-2-40-46 sshd[1419]: Server listening on 0.0.0.0 port 22.
Dec 03 10:19:26 ip-10-2-40-46 sshd[1419]: Server listening on :: port 22.
Dec 03 10:19:26 ip-10-2-40-46 systemd[1]: Started OpenSSH Daemon.
Dec 03 10:21:13 ip-10-2-40-46 sshd[1507]: Received disconnect from 92.255.85.37 port 43914:11: Bye Bye [preauth]
Dec 03 10:21:13 ip-10-2-40-46 sshd[1507]: Disconnected from authenticating user root 92.255.85.37 port 43914 [preauth]
Dec 03 10:33:40 ip-10-2-40-46 sshd[1977]: Accepted publickey for ec2-user from 105.231.31.248 port 60453 ssh2: RSA SHA256:nDQ1FM>
Dec 03 10:33:40 ip-10-2-40-46 sshd[1977]: pam_unix(sshd:session): session opened for user ec2-user by (uid=0)
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Invalid user huawei from 92.255.85.37 port 36540
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Received disconnect from 92.255.85.37 port 36540:11: Bye Bye [preauth]
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Disconnected from invalid user huawei 92.255.85.37 port 36540 [preauth]

3. Creazione di utenti e gruppi e aggiunta delle directory necessarie

Successivamente ci assicureremo che gli utenti necessari siano presenti nel sistema. Nel mio caso, vorrei avere gli utenti sftp a casa come /srv/sftp

Creiamo la home /srv/sftp con questo comando:

sudo mkdir /srv/sftp

Quindi creiamo un gruppo ombrello solo per SFTP

sudo groupadd sftpusers

Quindi crea un utente solo sftp chiamato citizix:

sudo useradd -G sftpusers -d /srv/sftp/citizix -s /sbin/nologin citizix

Le opzioni precedenti effettuano le seguenti operazioni:

  • -G sftpusers :crea utente, aggiungi a sftpusers gruppo
  • -d /srv/sftp/citizix :imposta la home directory come /srv/sftp/citizix
  • -s /sbin/nologin :Non vogliamo che l'utente esegua il login, quindi nessuna shell di login ssh
  • Infine, nome utente come citizix

Quindi aggiungi la password all'utente creato usando questo comando:

$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

3. Configurazione del servizio ssh

Ora che abbiamo installato il software necessario e creato utenti e gruppi, configuriamo ssh.

Assicurati che l'autenticazione della password sia abilitata per ssh. Modifica il file di configurazione qui /etc/ssh/sshd_config :

sudo vim /etc/ssh/sshd_config

Quindi assicurati che questa riga non sia commentata:

PasswordAuthentication yes

Successivamente, dobbiamo aggiungere regole per gli utenti in sftpusers gruppo da considerare come sftp. Modifica il file di configurazione:

sudo vim /etc/ssh/sshd_config

Aggiungi questo contenuto in fondo al file:

Match Group sftpusers  
    X11Forwarding no  
    AllowTcpForwarding no  
    ChrootDirectory /srv/sftp
    ForceCommand internal-sftp

Quindi riavvia sshd per ricaricare la configurazione:

sudo systemctl restart sshd

Verifica che sshd funziona come previsto:

~> sudo systemctl status sshd
● sshd.service - OpenSSH Daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-12-03 11:22:18 UTC; 5min ago
    Process: 15765 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS)
    Process: 15770 ExecStartPre=/usr/sbin/sshd -t $SSHD_OPTS (code=exited, status=0/SUCCESS)
   Main PID: 15780 (sshd)
      Tasks: 1
     CGroup: /system.slice/sshd.service
             └─15780 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Dec 03 11:22:18 ip-10-2-40-46 systemd[1]: Starting OpenSSH Daemon...
Dec 03 11:22:18 ip-10-2-40-46 sshd-gen-keys-start[15765]: Checking for missing server keys in /etc/ssh
Dec 03 11:22:18 ip-10-2-40-46 sshd[15780]: Server listening on 0.0.0.0 port 22.
Dec 03 11:22:18 ip-10-2-40-46 sshd[15780]: Server listening on :: port 22.
Dec 03 11:22:18 ip-10-2-40-46 systemd[1]: Started OpenSSH Daemon.

4. Verifica che la configurazione funzioni come previsto

Dopo aver creato con successo l'utente e aver aggiunto le configurazioni sftp, testiamo la configurazione usando il comando:

Password di
❯ sftp [email protected]
[email protected]'s password:
Connected to 52.24.157.181.
sftp>

Ora abbiamo il server sftp attivo e funzionante con un utente configurato!

Gli utenti potranno accedere al server e accedere a file e directory che si trovano nella loro home directory. Se vuoi assegnare l'utente ad altre directory al di fuori della propria directory, assicurati che l'utente disponga di diritti sufficienti per accedere. Queste directory e file devono trovarsi all'interno della directory sftp – /srv/sftp .

Esempio:se voglio che l'utente acceda alla directory /srv/sftp/paymentfiles , procedi come segue:

Crea la directory

sudo mkdir /srv/sftp/paymentfiles

Quindi assegnare l'utente(citizix ) accedere facendogli possedere la directory:

sudo chown citizix:sftpusers /srv/sftp/paymentfiles

Questo è tutto. Gli utenti dovrebbero ora avere accesso.

Conclusione

In questa guida siamo riusciti a configurare il server sftp in un OpenSUSE Leap 15.3.


OpenSuse
  1. Come installare e configurare il server sftp in Ubuntu 20.04

  2. Come installare Mongodb 5 in Opensuse Leap 15.3

  3. Come installare Mysql Server 8 su OpenSUSE Leap 15.3

  4. Come installare e configurare Redis 6 su OpenSUSE Leap 15.3

  5. Come installare Erlang su Opensuse Leap 15.3

Come installare un desktop KDE OpenSUSE Leap 42.1

Come installare Skype su openSUSE Leap

Come abilitare SSH su openSUSE

Come installare TeamViewer 12 su openSUSE Leap 42.2

Come installare Dropbox su openSUSE Leap 42.2

Come installare RabbitMQ in OpenSUSE Leap 15.3