Installere en FTP-server (vsftpd) på Ubuntu 18.04 / 18.10 / 19.04 / 19.10

posted in: Articles | 0

Før du begynder…

Det er overraskende, hvor mange web-udviklere er stadig uvidende om SFTP og fordele over FTP/FTPS. SFTP leveres med Linu.Server forudinstalleret og fungerer ligesom normal FTP, men er mere sikker og mindre besvær at konfigurere. Hvis din FTP-klient understøtter SFTP, skal du bruge den!

  • Sådan konfigureres SFTP til et documentebserverdokument root

installer vsftpd

lad os begynde med at opdatere pakkelisterne og installere vsftpd på Ubuntu 18.04 / 18.10 / 19.04 / 19.10.,

nedenfor har vi to kommandoer adskilt af &&. Den første kommando opdaterer pakkelisterne for at sikre, at du får den nyeste version og afhængigheder for vsftpd. Den anden kommando vil derefter do .nloade og installere vsftpd. Tryk på y og ENTER når du bliver bedt om at fortsætte.

sudo apt update && sudo apt install vsftpd

når det er installeret, skal du kontrollere status for vsftpd

sudo service vsftpd status

ovenfor kan vi se, at vores FTP-server nu er i gang.,

Konfigurer fire ,all

Hvis du ikke allerede har gjort det, anbefales det, at du aktivererufw fire ,all til Ubuntu 18.04 / 18.10 / 19.04 / 19.10. Før du aktiverer ufw fire .all, skal du sørge for at tilføje en regel for SSH, ellers kan du blive låst ud af din server, hvis du har fjernforbindelse. Hvis du ikke vil konfigurere en fire .all, skal du springe til Trin 3.

sudo ufw allow OpenSSH

Lad os åbne port 20 og 21 for FTP, og havne 40000-50000 for passiv FTP. Vi åbner også port 990 for TLS, som vi vil oprette senere.,

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw allow 990/tcp

Aktiver nu fire .allen, hvis den ikke allerede er. Tryk på y og ENTER hvis der advares om afbrydelse af SSH-forbindelsen.

sudo ufw enable

for At kontrollere status for firewall, kør:

sudo ufw status

Hvis firewallen kører, bør du se Status: active og firewall-regler, vi lige har tilføjet.

Opret FTP-bruger

Vi opretter nu en ny bruger, som vi vil bruge til at logge ind på FTP., I dette eksempel opretter vi en ny bruger kaldet ftpuser.

sudo adduser ftpuser

Generer en stærk adgangskode og holde det sikkert.

Du kan også blive bedt om at indtaste nogle kontaktoplysninger. Du kan bare trykke på ENTER til hver af disse.

Hvis du kun vil ftpuser for at logge ind via FTP, skal du deaktivere deres SSH-adgang ved at sortliste deres brugernavn i SSH-konfigurationsfilen. Ellers skal du springe til Trin 4.

Åbn SSH config i nano.,

sudo nano /etc/ssh/sshd_config

Føj følgende til bunden af filen, der erstatter ftpuser med den bruger, du vil nægte SSH-og SFTP-adgang. Du kan tilføje flere brugere her adskilt af et enkelt mellemrum. (For at indsætte i nano skal du trykke på højre museknap).

/etc/ssh/sshd_config
DenyUsers ftpuser

hvis du vil gemme filen, og afslut ved at trykke CTRL + X tryk Y, og tryk derefter på ENTER.

genstart SSH-tjenesten.,

sudo service sshd restart

Directory Permissions

Du skal nu beslutte, hvor denne nye FTP-bruger har tilladelse til at se og uploade filer.

vsftpd bruger chroot jails til at begrænse brugere til deres hjemmemapper og kræver, at hjemmemappen ikke kan skrives. Af den grund er vi nødt til at oprette nogle mapper og tilladelser.

Hvis du planlægger at bruge denne FTP-brugerkonto til at uploade filer til en serverebserver, skal du fortsætte til trin 4.1. Hvis du bare vil uploade til en hjemmemappe, skal du springe til trin 4.2.

4. 1., Upload til en bserver

i mange tilfælde vil du være i stand til at uploade filer til dokumentets rod på webebserveren.

Hvis du har fulgt en tidligere vejledning her for at oprette flere domæner, kan dit document root kan være placeret i et sted som /var/www/test1.com/public_html – i så fald, ville du nødt til at indstille home mappe for ftpuser til mappen over document root: /var/www/test1.com (substitution test1.com for dit eget domæne).,

Hvis du ikke bruger flere domæner, vil vi antage, at du bruger standard document root /var/www/html for både Apache og Nginx i Ubuntu 18.04 / 18.10 / 19.04 / 19.10. I dette scenario skal vi lave /var/www/ hjemmemappen for vores bruger ftpuser.

lad os indstille mappen over dokumentets rod som hjemmemappen for ftpuser.

sudo usermod -d /var/www ftpuser

Dette giver vores FTP-bruger mulighed for at skrive og ændre filer i dokumentets rodmappe.,

sudo chown ftpuser:ftpuser /var/www/html

Spring nu til Trin 5 for at konfigurere vsftpd.

4.2 Uploade til et Home-Mappe

Hvis du i stedet vil denne bruger til at uploade filer til mappen / home, skal du oprette en ny mappe der hedder ftp i brugerens hjemmemappe og den anden inden det kaldes files. I dette eksempel nedenfor kaldes vores bruger ftpuser.

sudo mkdir /home/ftpuser/ftp

Sæt ejerskab af ftp directory til noget nobody:nogroup.,

sudo chown nobody:nogroup /home/ftpuser/ftp

vælger du tilladelser til ftp mappe ved hjælp af chmod, så det er ikke skrivbar af alle, ellers vsftpd vil ikke tillade dig at logge på. a-w hjælp a = alle/alle - = fjern w = skriv tilladelse, så fjern skrive rettigheder for alle.

sudo chmod a-w /home/ftpuser/ftp

dernæst opretter vi en ny mappe inden for /ftp, hvor brugeren kan se og uploade filer.,

sudo mkdir /home/ftpuser/ftp/files

Tildel ejerskab af denne mappe til vores nye FTP-bruger ellers vil de ikke være i stand til at skrive til det.

sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files

Konfigurer vsftpd

Der er et par ændringer, vi skal foretage i vsftpd-konfigurationsfilen, før du kan begynde at bruge FTP på Ubuntu 18.04 / 18.10 / 19.04 / 19.10.

før du redigerer konfigurationsfilen, skal du oprette en sikkerhedskopi.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

åbn nu konfigurationsfilen i nano editor.,

sudo nano /etc/vsftpd.conf

Dette er en ganske stor fil, men det er for det meste fyldt med kommentarer til at hjælpe dig med.

Du skal gå ned i filen og sørge for, at indstillingerne matcher dem nedenfor. Bemærk: du kan søge i nano hjælp CTRL + W

Se efter #write_enable=YES og fjern den ved at fjerne # – tegnet. Dette giver FTP-brugere mulighed for at skrive filer til serveren.

etc / vsftpd.,conf
write_enable=YES

Kig efter #chroot_local_user=YES og fjern det ved at fjerne # – tegnet. Dette forhindrer FTP-brugere i at gennemse uden for deres eget bibliotek.

etc / vsftpd.conf
chroot_local_user=YES

Kig efter #local_umask=022 og fjern det ved at fjerne # – tegnet. Dette vil give uploadede filer og mapper de korrekte tilladelser.

etc / vsftpd.conf
local_umask=022

Vi skal nu tilføje nogle direktiver, der ikke findes i filen.,

da Linu.ikke viser filer, der begynder med en prik, vil filer som .htaccess ikke være synlige i FTP. Dette kan være et problem, hvis du agter at bruge Apache og vil arbejde med .htaccess.

for at tvinge vsftpd til at vise filnavne, der begynder med en prik, skal du indsætte følgende i bunden af filen. (For at indsætte i nano skal du trykke på højre museknap)

etc / vsftpd.conf
force_dot_files=YES

endelig, lad os tilføje nogle portområder for passiv FTP for at sikre, at der er nok forbindelser til rådighed. Indsæt følgende i bunden af filen., (For at indsætte i nano skal du trykke på højre museknap)

etc / vsftpd.conf
pasv_min_port=40000pasv_max_port=50000

Hvis du har fulgt Trin 4.2 tidligere, og kun ønsker, at denne bruger til at uploade filer til home-mappe, skal vi fortælle vsftpd, at local_root er /ftp mappe, som vi oprettede tidligere.

tilføj ikke disse to linjer, hvis du vil have brugeren til at uploade til webebdokumentets rod!

etc / vsftpd.conf
user_sub_token=$USERlocal_root=/home/$USER/ftp

Vi er færdige med vsftpd.conf for øjeblikket, men vender tilbage i senere trin for at oprette sikkerhed og SSL.,

hvis du vil gemme filen, og afslut ved at trykke CTRL + X tryk Y, og tryk derefter på ENTER.genstart vsftpd.

sudo systemctl restart vsftpd

Test FTP

Vi kan nu teste vsftpd for at se, om vi kan logge ind som den bruger, vi oprettede tidligere. Vi anbefaler file .illa, der fungerer på Windowsindo .s, Mac og Linu..

Indtast din servers IP, dit FTP-brugernavn og din adgangskode, du oprettede tidligere, og klik på Quickuickconnect.,

Ovenstående kan vi se, at vi har tilsluttet korrekt, og web root directory html vises, selvom dette kan være anderledes på din server.

prøv at uploade, oprette og redigere mapper og filer i rooteb rodmappen for at sikre, at tilladelser fungerer korrekt.

Du vil bemærke, at vi har en advarsel i File .illa “Status: usikker server, den understøtter ikke FTP over TLS.”Det anbefales stærkt, at du nu konfigurerer TLS, så loginoplysninger og trafik krypteres via FTP-forbindelsen.,

Hvis du har problemer med at logge ind på FTP-serveren, kan du prøve at kontrollere vsftpd-loggen. For at få vist de sidste 200 poster ved hjælp af tail:

sudo tail /var/log/vsftpd.log -n 200

Secure FTP med TLS (valgfri)

Det er vigtigt at holde et par ting i tankerne, når ved hjælp af FTP – det er ikke krypterede som standard, hvilket betyder, at dine legitimationsoplysninger og filer, som du sender, er sårbare over for aflytning. For at løse dette skal du oprette forbindelse til vsftpd ved hjælp af FTPS (FTP over SSL/TLS).

lad os begynde med at oprette et nyt certifikat med openssl værktøjet.,

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Du bliver bedt om at indtaste nogle detaljer som land osv. Du behøver ikke at udfylde disse. Du kan bare trykke på ENTER for standardindstillinger.

nu hvor din private nøgle er oprettet, er der et par ændringer, vi skal foretage i vsftpd-konfigurationsfilen.

Åbn konfigurationsfilen inano editor.

sudo nano /etc/vsftpd.conf

Find følgende linje: (Bemærk: kan du søg i nano hjælp CTRL + W)

etc/vsftpd.,conf
ssl_enable=NO

skift det til:

etc / vsftpd.conf
ssl_enable=YES

Indsæt i det følgende under det.

etc / vsftpd.conf

Gem filen og exit (tryk på CTRL + X tryk Y, og tryk derefter på ENTER).genstart vsftpd.

sudo systemctl restart vsftpd

test af TLS med File .illa

Vi kan nu teste TLS. Vi anbefaler file .illa, der fungerer på Windowsindo .s, Mac og Linu..,

Indtast din servers IP, dit FTP-brugernavn og din adgangskode, du oprettede tidligere, og klik på Quickuickconnect.

Du kan blive præsenteret for en ukendt Certifikatadvarsel. Klik på stol altid på dette certifikat i fremtidige sessioner, og klik på OK.

Hvis du er tilsluttet via TLS, vil det fortælle dig i forbindelsesloggen. Du vil også se en hængelås i nederste højre hjørne.

Du er færdig!,

4,79 (42 stemmer)

lad mig vide, om dette hjalp. Følg mig på T .itter, Facebook og YouTube, eller buy Køb mig en smoothie.

p.s. jeg øgede min AdSense-omsætning med 68% ved hjælp af AI.. Læs min e .oic anmeldelse for at finde ud af hvordan.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *