Android

Hoe linux sftp commando te gebruiken om bestanden over te zetten

Linux Tip | Using SFTP and Automating Rsync

Linux Tip | Using SFTP and Automating Rsync

Inhoudsopgave:

Anonim

SFTP (SSH File Transfer Protocol) is een veilig bestandsprotocol dat wordt gebruikt voor toegang tot, beheer en overdracht van bestanden via een gecodeerd SSH-transport.

In vergelijking met het traditionele FTP-protocol biedt SFTP alle functionaliteit van FTP en is het eenvoudiger te configureren.

In tegenstelling tot de scp command , die alleen bestandsoverdracht toestaat, kunt u met de opdracht sftp een reeks bewerkingen uitvoeren op externe bestanden en de bestandsoverdracht hervatten.

In deze zelfstudie laten we u zien hoe u de Linux sftp opdracht kunt gebruiken.

Voordat je begint

Om bestanden via SFTP te kunnen overbrengen en beheren, moet u over schrijfrechten op het externe systeem beschikken.

Bij het overbrengen van grote bestanden wordt aanbevolen om de opdracht sftp in een scherm of tmux-sessie uit te voeren.

De map van waaruit u de opdracht sftp uitvoert, is de lokale werkmap.

Een SFTP-verbinding tot stand brengen

SFTP werkt op een client-server-model. Het is een subsysteem van SSH en ondersteunt alle SSH-authenticatiemechanismen.

Hoewel de traditionele wachtwoordverificatie standaard is ingesteld en gemakkelijker te gebruiken is, wordt het aanbevolen om SSH-sleutels te maken en een wachtwoordloze SFTP-login in te stellen als u regelmatig verbinding maakt met uw server via SSH / SFTP.

Om een ​​SFTP-verbinding met een extern systeem te openen, gebruikt u de opdracht sftp gevolgd door de gebruikersnaam van de externe server en het IP-adres of de domeinnaam:

sftp remote_username@server_ip_or_hostname

Nadat de verbinding tot stand is gebracht, krijgt u de sftp prompt te zien en kunt u beginnen met interactie met de externe machine:

Connected to remote_username@server_ip_or_hostname. sftp>

Als de externe SSH-server niet luistert op de standaardpoort 22, gebruikt u de optie -oPort om de alternatieve poort op te geven:

sftp -oPort=custom_port remote_username@server_ip_or_hostname

SFTP-opdrachten

De meeste SFTP-opdrachten zijn vergelijkbaar of identiek aan de opdrachten die u zou gebruiken in de Linux shell-prompt.

U kunt een lijst van alle beschikbare SFTP-opdrachten krijgen door help of te typen ? .

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

Navigeren met SFTP

Wanneer u bent aangemeld bij de externe server, is uw huidige werkmap de thuismap van de externe gebruiker. U kunt dit controleren door te typen:

pwd

Remote working directory: /home/remote_username

Gebruik de opdracht ls om de bestanden en mappen weer te geven:

ls

Gebruik de opdracht cd om naar een andere map te navigeren. Als u bijvoorbeeld naar de map /tmp wilt overschakelen, typt u:

cd /tmp

De bovenstaande opdrachten worden gebruikt om te navigeren en te werken op de externe locatie.

De sftp shell biedt ook opdrachten voor lokale navigatie, informatie en bestandsbeheer. De lokale opdrachten worden voorafgegaan door de letter l .

Als u bijvoorbeeld de lokale werkmap wilt afdrukken, typt u:

cd lpwd

Local working directory: /home/local_username

Bestanden overbrengen met SFTP

Met SFTP kunt u bestanden veilig overbrengen tussen twee machines.

De opdracht sftp is handig wanneer u op een server zonder GUI werkt en u bestanden wilt overbrengen of andere bewerkingen op de externe bestanden wilt uitvoeren.

Bestanden downloaden met de SFTP-opdracht

Nadat u bent aangemeld bij de externe server, is uw huidige werkmap de thuismap van de externe gebruiker.

Wanneer u bestanden downloadt met de opdracht sftp , worden de bestanden gedownload naar de map van waaruit u de opdracht sftp hebt getypt.

Gebruik de opdracht get een enkel bestand van de externe server te downloaden:

get filename.zip

De output zou er ongeveer zo uit moeten zien:

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

Gebruik de optie recursieve -r om een ​​map van het externe systeem te downloaden:

get -r remote_directory

Als een bestandsoverdracht mislukt of wordt onderbroken, kunt u deze hervatten met de opdracht reget .

De syntaxis van reget is hetzelfde als de syntaxis van get :

reget filename.zip

Bestanden uploaden met de SFTP-opdracht

Gebruik de opdracht put om een ​​bestand van de lokale machine naar de externe SFTP-server te uploaden:

put filename.zip

De output zou er ongeveer zo uit moeten zien:

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

Als het bestand dat u wilt uploaden niet in uw huidige werkmap staat, gebruikt u het absolute pad naar het bestand.

Wanneer u met put , kunt u dezelfde opties gebruiken die beschikbaar zijn met de opdracht get .

Om een ​​lokale map te uploaden, typ je:

put -r locale_directory

Om een ​​onderbroken upload te hervatten:

reput filename.zip

Bestandsmanipulaties met SFTP

Om taken op een externe server uit te voeren, zou u er meestal via SSH verbinding mee maken en uw werk doen met behulp van de shell-terminal. In sommige situaties heeft de gebruiker echter alleen SFTP-toegang tot de externe server.

Met SFTP kunt u enkele basisopdrachten voor bestandsmanipulatie uitvoeren. Hieronder volgen enkele voorbeelden van het gebruik van de SFTP-shell:

  • Informatie krijgen over het schijfgebruik van het externe systeem:

    df

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

    Maak een nieuwe map op de externe server:

    mkdir directory_name

    Hernoem een ​​bestand op de externe server:

    rename file_name new_file_name

    Verwijder een bestand op de externe server:

    rm file_name

    Verwijder een map op de externe server:

    rmdir directory_name

    Wijzig de rechten van een bestand op het externe systeem:

    chmod 644 file_name

    Wijzig de eigenaar van een bestand op het externe systeem:

    chown user_id file_name

    U moet de gebruikers-ID chgrp opdrachten chown en chgrp .

    Wijzig de groepseigenaar van een extern bestand met:

    chgrp group_id file_name

Als u klaar bent met uw werk, sluit u de verbinding door bye typen of te quit .

Conclusie

In deze zelfstudie hebben we u laten zien hoe u de opdracht sftp om bestanden te downloaden en naar uw externe SFTP-server te uploaden.

Misschien wilt u ook een op SSH-sleutel gebaseerde verificatie instellen en verbinding maken met uw Linux-servers zonder een wachtwoord in te voeren.

Aarzel niet om een ​​reactie achter te laten als u vragen of feedback hebt.

sftp-terminal