Of u nu een Ubuntu-server gebruikt of eenvoudigweg bestanden op afstand wilt kopiëren, het opzetten van een Ubuntu FTP-server is eenvoudig.

Als je een Linux-server instelt, heb je FTP-toegang nodig. Dit betekent dat u eerst een FTP-server op Linux. Het zou een van de eerste dingen moeten zijn die u doet nadat u het besturingssysteem van uw server hebt geïnstalleerd.

Veel Linux-servers draaien Ubuntu. Laten we dus eens kijken hoe we een FTP-server op de Ubuntu-server kunnen instellen.

Wat is een FTP-server?

FTP, of File Transfer Protocol, is het systeem dat wordt gebruikt om bestanden te uploaden (putten) naar of te downloaden (ontvangen) van een server. U hebt het waarschijnlijk in het verleden zonder het te beseffen gebruikt bij het ophalen van bestanden of het uploaden van afbeeldingen naar internet. Of misschien hebt u een FTP-client gebruikt om rechtstreeks verbinding te maken met de FTP-bestandsserver.

Om dit te laten gebeuren, moet FTP-serversoftware worden geïnstalleerd op de externe server die de bestanden host.

Of u nu een Linux-thuisserver, een webserver, een gameserver of welke server dan ook voor uw project bouwt, FTP is de eenvoudigste manier om gegevens van het ene systeem naar het andere over te dragen.

Installeer een server op Ubuntu

Het installeren van een FTP-server op Ubuntu is eenvoudig. De beste oplossing is ongetwijfeld vsftpd. Volg de onderstaande stappen om een ​​FTP-server op Ubuntu te installeren en configureren met vsftpd.

1. Installeer vsftpd

Mogelijk hebt u vsftpd al geïnstalleerd. Om dit te controleren, opent u een terminalvenster en voert u in

sudo apt list --installed

Je zou vsftpd onderaan de lijst moeten vinden. Als dit niet het geval is, installeert u eenvoudigweg met

sudo apt install vsftpd

Eenmaal geïnstalleerd, is het tijd om vsftpd te configureren. Begin met het maken van een kopie van het originele configuratiebestand. Dit betekent dat als er iets misgaat, de standaardconfiguratie kan worden hersteld.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default

Als dat klaar is, start u de service met:

sudo systemctl start vsftpd

Bevestig dat de server actief is met:

sudo systemctl enable vsftpd

Als vsftpd is geïnstalleerd, kunt u beginnen met de configuratie.

2. Maak een FTP-gebruiker aan

Het eerste dat u nodig heeft, is een FTP-gebruikersaccount. Hiermee kunt u elke FTP-client gebruiken om via vsftpd toegang te krijgen tot de bestanden die op de server worden gehost. Voer in de terminal het volgende in:

sudo useradd –m username

(Vervang "gebruikersnaam" door uw beoogde gebruikersnaam.)

sudo password username

Nadat de gebruikersnaam en het wachtwoord zijn ingesteld, maakt u een testbestand in de thuismap van het account om te bevestigen dat het werkt:

cd /home/username

sudo nano testfile.txt

Wanneer u voor het eerst verbinding maakt met uw Ubuntu FTP-server, zou u testfile.txt moeten zien.

3. Beveilig uw Ubuntu FTP-server

Voordat u echter een verbinding instelt, moet u ervoor zorgen dat FTP-poorten open zijn in Ubuntu. Standaard zijn deze om veiligheidsredenen gesloten in ufw (Uncomplicated Firewall).

Om toegang via poort 20 mogelijk te maken, gebruikt u

sudo ufw allow 20/tcp

Als je distributie een andere firewall gebruikt of als je een alternatief hebt geïnstalleerd, controleer dan de documentatie om de poorten te openen.

U wilt ook dat gebruikers bestanden kunnen uploaden. Dit kun je instellen in het configuratiebestand. Open het om te bewerken:

sudo nano /etc/vsftpd.conf

Zoek write_enabled en verwijder het commentaar van het item, zorg ervoor dat het is ingesteld op "YES":

write_enable=YES

Hit Ctrl+X om af te sluiten, en Y opslaan.

Voor openbaar toegankelijke FTP-servers wilt u de toegang voor elke gebruiker beperken. Met chroot kunnen we elke gebruiker beperken tot zijn thuismap. Zoek in vsftpd.conf deze regel en verwijder de commentaar (verwijder de #):

chroot_local_user=YES

Opnieuw, Ctrl+X om af te sluiten, en Y opslaan.

Voor meerdere gebruikers is het bijhouden van een lijst een slimmere optie.

Open eerst vsftpd.chroot_list in uw teksteditor.

sudo nano /etc/ vsftpd.chroot_list

Geef hier de gebruikersnamen op die u wilt beperken tot hun eigen mappen. Sla op en sluit af, keer dan terug naar vsftpd.conf en zorg ervoor dat chroot_local_user=YES geen commentaar bevat:

#chroot_local_user=YES

In plaats daarvan: verwijder uw commentaar

chroot_list_enable=YES

En

chroot_list_file=/etc/vsftpd.chroot_list

Het zou er zo uit moeten zien:

Nogmaals, opslaan en afsluiten. Start ten slotte de FTP-service opnieuw op:

sudo systemctl restart vsftpd.service

Gebruik ten slotte de hostnaam opdracht om de naam van uw Ubuntu-server te controleren. Deze kunt u vervolgens gebruiken om verbinding te maken met de FTP-server. Als u liever het IP-adres gebruikt, voert u het IP adres commando en noteer het.

4. Gecodeerde verbindingen: FTP+SSL=FTPS

U kunt ook de codering van verkeer van en naar uw Ubuntu FTP-server forceren met behulp van SSL/TLS.

Verwant: Versleutelingsvoorwaarden die iedereen zou moeten kennen

Zoek in het bestand vsftpd.conf naar verwijzing naar "SSL-gecodeerde verbindingen" en voeg het volgende toe:

ssl_enable=YES

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Sla het bestand op en sluit het af. U kunt nu specifiek FTPS als verbindingsprotocol in uw FTP-client gebruiken.

5. Installeer een FTP-client op Ubuntu

Vanaf een ander systeem kunt u verbinding maken met uw Ubuntu FTP-server met behulp van een opdrachtregelprogramma of desktop-app.

Op Linux hebt u toegang tot de server in de terminal met

sudo ftp hostname

Zorg ervoor dat u "hostnaam" vervangt door de hostnaam van uw server. U kunt ook het IP-adres gebruiken

sudo ftp ipaddress

Voer desgevraagd de gebruikersnaam en het wachtwoord in die u eerder hebt ingesteld. U kunt vervolgens de opdrachten get en put gebruiken om gegevens over te dragen.

Wilt u iets intuïtiever, of toegang krijgen tot de FTP-server vanaf een ander besturingssysteem? Je hebt een FTP-client nodig en misschien wel de beste die beschikbaar is, is FileZilla. Een open source-oplossing, deze is beschikbaar voor Windows (evenals een server), macOS, en er zijn 32-bits en 64-bits versies voor Linux. Helaas is er geen FileZilla FTP-server voor Ubuntu of andere Linux-distributies.

Downloaden:BestandZilla (Vrij)

Om de FileZilla-client te gebruiken om verbinding te maken met uw Ubuntu FTP-server, installeert en start u de app. Dan:

  1. Klik Bestand > Sitebeheer
  2. Hier, klik Nieuwe site
  3. Selecteer in het rechterdeelvenster FTP 
  4. Als u FTPS gebruikt, selecteert u TLS voor Encryptie.
  5. Voer vervolgens de hostnaam of het IP-adres in Gastheer en voeg de Haven.
  6. Voor Aanmeldingstype voer uw accountgegevens in Gebruiker En Wachtwoord.
  7. Klik Aansluiten.

U bent dan vrij om gegevens te uploaden en downloaden (put and get) van uw Ubuntu FTP-server. Sleep eenvoudigweg de bestanden die u wilt verplaatsen.

Gebruikt u een andere FTP-client? De stappen zouden grotendeels hetzelfde moeten zijn, maar raadpleeg de documentatie van de app voor verduidelijking.

Je hebt een FTP-server gebouwd op Ubuntu

Of u nu een desktop- of serverversie van het Ubuntu-besturingssysteem gebruikte, er wordt nu een FTP-server uitgevoerd. Dit kan voor allerlei doeleinden worden gebruikt, van het uploaden van webpagina's tot het bieden van gemakkelijke toegang tot belangrijke gegevens. Met behulp van FTP kunt u de gegevens ophalen wanneer u deze nodig heeft, zonder fysieke toegang tot de servermachine.