Zoeken op website

Bestanden/mappen uploaden of downloaden met sFTP in Linux


sFTP (secure File Transfer Program) is een veilig en interactief programma voor bestandsoverdracht, dat op dezelfde manier werkt als FTP (File Transfer Protocol). sFTP is echter veiliger dan FTP; het verwerkt alle bewerkingen via een gecodeerd SSH-transport.

Het kan worden geconfigureerd om verschillende nuttige SSH-functies te gebruiken, zoals authenticatie en compressie met openbare sleutels. Het maakt verbinding en logt in op de opgegeven externe machine, en schakelt over naar een interactieve opdrachtmodus waarin de gebruiker verschillende opdrachten kan uitvoeren.

In dit artikel laten we u zien hoe u een hele map (inclusief de submappen en subbestanden) kunt uploaden/downloaden met behulp van sFTP.

Hoe u sFTP gebruikt om bestanden/mappen over te zetten in Linux

Standaard gebruikt SFTP hetzelfde SSH-transport voor het tot stand brengen van een veilige verbinding met een externe server. Hoewel er wachtwoorden worden gebruikt om gebruikers te authenticeren die vergelijkbaar zijn met de standaard SSH-instellingen, wordt het aanbevolen om SSH-wachtwoordloos inloggen aan te maken en te gebruiken voor een vereenvoudigde en veiligere verbinding met externe hosts.

Maak veilig verbinding met de externe FTP-server

Om verbinding te maken met een externe SFTP-server, brengt u eerst een beveiligde SSH-verbinding tot stand en maakt u vervolgens een SFTP-sessie aan, zoals weergegeven.

sftp [email 

Zodra u bent ingelogd op de externe host, kunt u interactieve sFTP-opdrachten uitvoeren, zoals in de onderstaande voorbeelden:

sftp> ls			#list directory 
sftp> pwd			#print working directory on remote host
sftp> lpwd			#print working directory on local host
sftp> mkdir uploads		#create a new directory

Een map uploaden met sFTP

Om een hele map naar een externe Linux-host te uploaden, gebruik je de opdracht put. U krijgt echter een foutmelding als de mapnaam niet bestaat in de werkmap op de externe host, zoals weergegeven in de onderstaande schermafbeelding.

Maak daarom eerst een map aan met dezelfde naam op de externe host, voordat u deze uploadt vanaf de lokale host. De -r doet het werk, waardoor submappen en subbestanden ook kunnen worden gekopieerd:

sftp> put -r  linux-console.net-articles
sftp> mkdir linux-console.net-articles
sftp> put -r linux-console.net-articles

Om de wijzigingstijden, toegangstijden en modi van de originele overgedragen bestanden te behouden, gebruikt u de vlag -p.

sftp> put -pr linux-console.net-articles

Een map downloaden met sFTP

Om een hele map met de naam fstools-0.0 van een externe Linux-host naar een lokale machine te downloaden, gebruikt u de opdracht get met de vlag -r als volgt:

sftp> get -r fstools-0.0

Controleer vervolgens in de huidige werkmap op de lokale host of de map is gedownload met alle inhoud erin.

Om de sFTP-shell te voltooien, typt u:

sftp> bye
OR
sftp> exit

Lees bovendien de sFTP-opdrachten en gebruikstips.

Merk op dat om te voorkomen dat gebruikers toegang krijgen tot het volledige bestandssysteem op de externe host, u om veiligheidsredenen sFTP-gebruikers kunt beperken tot hun thuismappen met behulp van chroot Jail.

Dat is het! In dit artikel hebben we u laten zien hoe u een hele map kunt uploaden/downloaden met behulp van sFTP. Gebruik het commentaargedeelte hieronder om ons uw mening over dit artikel/onderwerp te geven.