Protocollo di trasferimento file sicuro (SFTP) viene utilizzato per crittografare le connessioni tra i client e il server FTP. SFTP fornisce l'accesso ai file, il trasferimento dei file e le funzionalità di gestione dei file su tunnel SSH.
Cos'è il server SFTP?
Secure File Transfer Protocol (SFTP) viene utilizzato per crittografare le connessioni tra i client e il server FTP. SFTP fornisce accesso ai file, trasferimento file e funzionalità di gestione dei file su tunnel SSH. La configurazione di un server SFTP a cui accedono più utenti richiede di applicare la protezione della sicurezza in termini di protezione degli utenti SFTP da intrusi esterni e anche di proteggere il server SFTP da altri utenti SFTP dannosi. Consente inoltre di fornire isolamento tra i singoli utenti SFTP. Questo post mira a mostrarti come configurare il server SFTP in CentOS. Tieni presente che ciò può essere ottenuto in molti modi diversi, ma utilizzeremo MySecureShell che è un server SFTP basato su OpenSSH. Con MySecureShell, hai le seguenti capacità; puoi controllare la larghezza di banda del tuo server SFTP, puoi amministrare il tuo server tramite una GUI e puoi anche imporre restrizioni agli utenti tramite IP o gruppi, con informazioni di registrazione complete e molto altro.
Inizieremo installando quanto segue –
1. Installa il pacchetto openssh-server
yum install openss1-deve1 openssh-server make
2. Installa MySecureShell
Apri e modifica il seguente file –vi /etc/yum.conf
Aggiungi quanto segue alla fine della pagina –
[mysecureshell] name=MySecureShell baseurl=http://mysecureshell.f enabled=1 gpgcheck=0Salva le modifiche ed esci dall'editor –
3. Aggiorna il tuo server e installa mysecureshell
yum update -y yum install mysecureshell -y
4. Verifica la directory di installazione di mysecureshell
whereis MySecureShell
5. Crea un gruppo speciale per gli utenti SFTP chiamato sftpusers
groupadd sftpusers
6. Aggiungi una password per il tuo nuovo utente
passwd joanModifica della password per l'utente joan.Nuova password:
7. Per l'accesso chroot per configurare l'accesso chroot
Per limitare un utente a una directory designata, apporteremo le seguenti modifiche in /etc/ssh/shtp_config
Puoi modificare con il tuo editor
vi /etc/ssh/shtp_config
Trova la riga 147 e commentala –Subsystem sftp /usr/libexec/openssh/sftp-server e aggiungi una riga di seguito.
Aggiungi questo dopo la riga commentata –
Sottosistema sftp internal-sftpAggiungi quanto segue alla fine del file –X11Forwarding no AllowTcpForwarding no ChrootDirectory /sftp/%u ForceCommand internal-sftp
NB. quanto sopra esegue il chroot dell'utente in una cartella specificata, ma è possibile anche eseguirne il chroot nella directory home sostituendo "CrootDirectory /sftp/%u" con "CrootDirectory %h".
Ora dovremo creare l'albero delle directory con chroot in cui questo utente (jack) verrà bloccato.
# mkdir -p /sftp/jack/{incoming,outgoing} # chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing} Your permissions should look like the following - # ls -ld /sftp/guestuser/{incoming,outgoing} drwxr-xr-x 2 guestuser sftpusers 4096 Oct 25 23:49 /sftp/guestuser/incoming drwxr-xr-x 2 guestuser sftpusers 4096 Oct 25 23:49 /sftp/guestuser/outgoing
8. Dopo aver modificato il file di configurazione, riavvia sshd con
service sshd restart
9. Puoi aggiungere utenti esistenti, ad esempio jack, al gruppo "sftp"
usermod -s /usr/bin/mysecureshell -g sftp jack
10. Puoi aggiungere uno o più nuovi utenti, ad esempio Joan, al gruppo "sftp"
useradd -m -s /usr/bin/mysecureshell joan usermod -s /bin/mysecureshell -g sftp joan
11. Sul lato client, puoi accedere al server SFTP con questo comando
sftp [email protected]_host.com
11. Per controllare gli utenti SFTP attualmente connessi
sftp-who