Android

Hur man använder linux sftp-kommando för att överföra filer

How to transfer a file from Windows to Linux | File Transfer using SFTP in FileZilla

How to transfer a file from Windows to Linux | File Transfer using SFTP in FileZilla

Innehållsförteckning:

Anonim

SFTP (SSH File Transfer Protocol) är ett säkert filprotokoll som används för att komma åt, hantera och överföra filer via en krypterad SSH-transport.

Jämfört med det traditionella FTP-protokollet erbjuder SFTP all FTP-funktionalitet, och det är lättare att konfigurera.

Till skillnad från scp command , som endast tillåter filöverföringar, sftp kommandot dig utföra en rad funktioner på fjärrfiler och återuppta filöverföringar.

I den här tutorialen visar vi dig hur du använder Linux sftp kommandot.

Innan du börjar

För att kunna överföra och hantera filer via SFTP måste du ha skrivtillstånd på fjärrsystemet.

När du överför stora filer rekommenderas att köra sftp-kommandot på en skärm eller tmux-session.

Katalogen där du kör sftp kommandot är den lokala arbetskatalogen.

Upprätta en SFTP-anslutning

SFTP fungerar enligt en klientservermodell. Det är ett delsystem av SSH och stöder alla SSH-autentiseringsmekanismer.

Även om den traditionella lösenordsautentiseringen är konfigurerad som standard och enklare att använda, om du regelbundet ansluter till din server via SSH / SFTP rekommenderas att du skapar SSH-nycklar och ställer in en lösenordsfri SFTP-inloggning.

För att öppna en SFTP-anslutning till ett fjärrsystem använder du sftp kommandot följt av fjärrserverns användarnamn och IP-adressen eller domännamnet:

sftp remote_username@server_ip_or_hostname

När du är ansluten kommer du att presenteras med sftp prompten, och du kan börja interagera med fjärrmaskinen:

Connected to remote_username@server_ip_or_hostname. sftp>

Om fjärr SSH-servern inte lyssnar på standardporten 22, använd alternativet -oPort att ange den alternativa porten:

sftp -oPort=custom_port remote_username@server_ip_or_hostname

SFTP-kommandon

De flesta av SFTP-kommandona är lika eller identiska med de kommandon som du skulle använda i Linux-skalprompten.

Du kan få en lista över alla tillgängliga SFTP-kommandon genom att skriva help eller ? .

help

Available commands: bye Quit sftp cd path Change remote directory to 'path'…… version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help

Navigera med SFTP

När du är inloggad på fjärrservern är din nuvarande arbetskatalog den fjärranslutna användarkatalogen. Du kan kontrollera det genom att skriva:

pwd

Remote working directory: /home/remote_username

För att lista filer och kataloger använder du kommandot ls :

ls

Använd cd kommandot för att navigera till en annan katalog. Om du till exempel vill växla till katalogen /tmp skriver du:

cd /tmp

Ovanstående kommandon används för att navigera och arbeta på fjärrplatsen.

sftp skalet innehåller också kommandon för lokal navigering, information och filhantering. De lokala kommandona är förinställda med bokstaven l .

Om du till exempel vill skriva ut den lokala arbetskatalogen skriver du:

cd lpwd

Local working directory: /home/local_username

Överföra filer med SFTP

Med SFTP kan du överföra filer säkert mellan två maskiner.

sftp kommandot är användbart när du arbetar på en server utan GUI och vill överföra filer eller utföra andra åtgärder på fjärrfilerna.

Nedladdning av filer med SFTP-kommandot

När du är inloggad på fjärrservern är din nuvarande arbetskatalog den katalog för fjärranslutna användare.

När du laddar ner filer med sftp kommandot laddas filerna ned till katalogen från vilken du skrev sftp kommandot.

För att ladda ner en enda fil från fjärrservern använder du kommandot get :

get filename.zip

Utgången ska se ut så här:

Fetching /home/remote_username/filename.zip to filename.zip /home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13

get filename.zip local_filename.zip

För att ladda ner en katalog från fjärrsystemet använder du alternativet rekursiv- -r :

get -r remote_directory

Om en filöverföring misslyckas eller avbryts kan du återuppta den med reget kommandot.

Syntaxen för reget är densamma som syntaxen för get :

reget filename.zip

Ladda upp filer med SFTP-kommandot

För att ladda upp en fil från den lokala maskinen till den externa SFTP-servern använder du kommandot put :

put filename.zip

Utgången ska se ut så här:

Uploading filename.zip to /home/remote_username/filename.zip filename.zip 100% 12MB 1.7MB/s 00:06

Om filen du vill ladda upp inte finns i din nuvarande arbetskatalog använder du den absoluta sökvägen till filen.

När du arbetar med put du använda samma alternativ som finns med kommandot get .

För att ladda upp en lokal katalog skriver du:

put -r locale_directory

För att återuppta en avbruten uppladdning:

reput filename.zip

Filmanipulationer med SFTP

För att utföra uppgifter på en fjärrserver ansluter du vanligtvis till den via SSH och gör ditt arbete med skalterminalen. I vissa situationer kan användaren dock bara ha SFTP-åtkomst till fjärrservern.

Med SFTP kan du utföra några grundläggande filmanipulationskommandon. Nedan följer några exempel på hur du använder SFTP-skalet:

  • Få information om fjärrsystemets hårddiskanvändning:

    df

    Size Used Avail (root) %Capacity 20616252 1548776 18002580 19067476 7%

    Skapa en ny katalog på fjärrservern:

    mkdir directory_name

    Byt namn på en fil på fjärrservern:

    rename file_name new_file_name

    Radera en fil på fjärrservern:

    rm file_name

    Radera en katalog på fjärrservern:

    rmdir directory_name

    Ändra behörigheterna för en fil på fjärrsystemet:

    chmod 644 file_name

    Byt ägare till en fil på fjärrsystemet:

    chown user_id file_name

    Du måste ange användar-ID till chown och chgrp kommandona.

    Ändra gruppägaren till en fjärrfil med:

    chgrp group_id file_name

När du är klar med ditt arbete stänger du anslutningen genom att skriva bye eller quit .

Slutsats

I denna handledning har vi visat dig hur du använder sftp kommandot för att ladda ner och ladda upp filer till din fjärr SFTP-server.

Du kanske också vill ställa in en SSH-nyckelbaserad autentisering och ansluta till dina Linux-servrar utan att ange ett lösenord.

Lämna gärna en kommentar om du har frågor eller feedback.

sftp terminal