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).
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.
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.
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.
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)
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)
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!
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
)
ssl_enable=NO
skift det til:
ssl_enable=YES
Indsæt i det følgende under det.
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!,
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