Linux Tip | Using SFTP and Automating Rsync
Inhoudsopgave:
- Voordat je begint
- Een SFTP-verbinding tot stand brengen
- SFTP-opdrachten
- Navigeren met SFTP
- Bestanden overbrengen met SFTP
- Bestanden downloaden met de SFTP-opdracht
- Bestanden uploaden met de SFTP-opdracht
- Bestandsmanipulaties met SFTP
- Conclusie
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
:
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:
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
opdrachtenchown
enchgrp
.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-terminalHoe de Xiaomi Shareme-app te gebruiken om bestanden en gegevens over te zetten op Android
Wilt u bestanden delen tussen twee Android-telefoons? Lees dit artikel om erachter te komen hoe Xiaomi's ShareMe (MI Drop) -app gebruikt om bestanden over te zetten op Android.
Hoe linux ftp commando te gebruiken om bestanden over te zetten
FTP (File Transfer Protocol) is een standaard netwerkprotocol dat wordt gebruikt om bestanden van en naar een extern netwerk over te dragen. In deze zelfstudie laten we u zien hoe u de opdracht linux ftp kunt gebruiken aan de hand van praktische voorbeelden.
Hoe scp-opdracht te gebruiken om bestanden veilig over te zetten
In deze zelfstudie laten we u zien hoe u het scp-commando kunt gebruiken door praktische voorbeelden en gedetailleerde uitleg van de meest voorkomende scp-opties.