SFTP (SSH File Transfer Protocol) is een beveiligd bestandsprotocol dat wordt gebruikt voor toegang, beheer en overdracht van bestanden via een versleuteld SSH-transport.
in vergelijking met het traditionele FTP-protocol biedt SFTP alle functionaliteit van FTP, maar het is veiliger en gemakkelijker te configureren.
In tegenstelling tot SCP, die alleen bestandsoverdrachten ondersteunt, kunt u met de SFTP een reeks bewerkingen uitvoeren op externe bestanden en bestandsoverdrachten hervatten.
in deze tutorial zullen we u laten zien hoe u het Linux sftp
commando gebruikt.,
voordat u begint met #
om bestanden via SFTP te kunnen overbrengen, moet u schrijfrechten hebben op het externe systeem.
bij het overbrengen van grote bestanden wordt aanbevolen om het sftp
commando in een scherm of tmux sessie uit te voeren.
de map waar u het sftp
commando uitvoert is de lokale werkmap.
een SFTP-verbinding maken #
SFTP werkt op een client-server-model. Het is een subsysteem van SSH en ondersteunt alle SSH authenticatie mechanismen.
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
Als u verbinding maakt met de host met behulp van wachtwoordverificatie, wordt u gevraagd het gebruikerswachtwoord in te voeren.,
eenmaal verbonden, krijgt u de sftp
prompt te zien, en kunt u beginnen met interactie met de externe server:
Connected to remote_username@server_ip_or_hostname.sftp>
als de externe SSH-server niet luistert op de standaardpoort 22 , gebruik dan de optie -P
om de SFTP-poort op te geven:
sftp -P custom_port remote_username@server_ip_or_hostname
SFTP commando ’s #
de meeste SFTP commando’ s zijn gelijk aan of identiek aan de Linux shell commando ‘ s.
om een lijst van alle beschikbare SFTP-opdrachten te krijgen, typt u help
, of ?
.,
help
Dit geeft een lange lijst van alle beschikbare commando ‘ s, inclusief een korte beschrijving van elk commando:
Available commands:bye Quit sftpcd 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 ingelogd op de server op afstand, is uw huidige werkmap de persoonlijke map van de gebruiker op afstand., U kunt dit controleren door te typen:
pwd
Remote working directory: /home/remote_username
om de bestanden en mappen weer te geven, gebruik de ls
Commando:
ls
om naar een andere map te navigeren, gebruik de cd
Commando. Om bijvoorbeeld naar de /tmp
map te schakelen, typt u:
cd /tmp
de bovenstaande commando ‘ s worden gebruikt om te navigeren en te werken op de externe locatie.
de SFTP shell biedt ook commando ‘ s voor lokale navigatie, informatie en bestandsbeheer., De lokale commando ‘ s worden voorafgegaan door de letter l
.
om bijvoorbeeld de lokale werkmap af te drukken, typt u:
cd lpwd
Local working directory: /home/local_username
bestanden overbrengen met SFTP #
SFTP stelt u in staat om bestanden veilig tussen twee machines over te brengen.
als u op een desktopmachine werkt, kunt u een GUI SFTP-client zoals WinSCP of FileZilla gebruiken om verbinding te maken met de externe server en bestanden te downloaden of te uploaden.,
het sftp
commando is handig als u op een server werkt zonder GUI, en u bestanden wilt overbrengen of andere bewerkingen wilt uitvoeren op de externe bestanden.,
het Downloaden van Bestanden met het SFTP Commando #
Voor het downloaden van een bestand uit de remote server, gebruik je het get
commando:
get filename.zip
De uitvoer ziet er ongeveer zo uit:
Fetching /home/remote_username/filename.zip to filename.zip/home/remote_username/filename.zip 100% 24MB 1.8MB/s 00:13
Bij het downloaden van bestanden met sftp
de bestanden worden gedownload naar de map die u hebt getypt sftp
commando.,
Als u het gedownloade bestand met een andere naam wilt opslaan, geeft u de nieuwe naam op als het tweede argument:
get filename.zip local_filename.zip
om een map van het externe systeem te downloaden, gebruikt u de recursieve -r
optie:
get -r remote_directory
als een bestandsoverdracht mislukt of wordt onderbroken, u kunt het hervatten met het reget
commando.,
De syntaxis van reget
is hetzelfde als de syntaxis van get
:
reget filename.zip
het Uploaden van Bestanden met het SFTP Commando #
om een bestand Te uploaden vanaf de lokale computer naar de externe SFTP-server gebruik de put
commando:
put filename.zip
De uitvoer ziet er ongeveer zo uit:
Uploading filename.zip to /home/remote_username/filename.zipfilename.zip 100% 12MB 1.7MB/s 00:06
Als het bestand dat u wilt uploaden zich niet in je huidige werkmap, gebruikt u het absolute pad naar het bestand.,
Als u met put
werkt, kunt u dezelfde opties gebruiken die beschikbaar zijn met het get
Commando.
om een lokale map te uploaden, typt u:
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 via SSH mee verbinden en uw werk doen met de shell terminal. In sommige situaties heeft de gebruiker echter alleen SFTP-toegang tot de externe server.,
SFTP staat u toe om enkele basis commando ‘ s voor bestandsbewerking uit te voeren.,remote server:
mkdir directory_name
de Naam van een bestand op de externe server:
rename file_name new_file_name
het Verwijderen van een bestand op de server op afstand:
rm file_name
het Verwijderen van een directory op de remote server:
rmdir directory_name
Verander de permissies van een bestand op het systeem op afstand:
chmod 644 file_name
het Wijzigen van de eigenaar van een bestand op het systeem op afstand:
chown user_id file_name
U moet de gebruikers-ID in om de chown
en chgrp
commando ‘ s.,
Wijzig de groepseigenaar van een bestand op afstand met:
chgrp group_id file_name
zodra u klaar bent met uw werk, sluit de verbinding door bye
of quit
te typen.
conclusie #
In deze tutorial hebben we u laten zien hoe u hetsftp
commando gebruikt om bestanden te downloaden en te uploaden naar uw externe SFTP-server.
u kunt ook een SSH sleutel-gebaseerde authenticatie instellen en verbinding maken met uw Linux servers zonder een wachtwoord in te voeren., Als u regelmatig verbinding maakt met dezelfde systemen, kunt u uw workflow vereenvoudigen door al uw verbindingen in het SSH configuratiebestand te definiëren .
Geef een reactie