Overzicht
SFTP (SSH File Transfer Protocol) is een protocol dat is ontwikkeld ter vervanging van het kwetsbare FTP. Het `sftp`-commando versleutelt alle gegevens en commando's via een SSH-verbinding, waardoor het risico op blootstelling van gebruikersnamen, wachtwoorden en bestandsinhoud op het netwerk wordt geëlimineerd. Net als FTP ondersteunt het een interactieve modus en is het vergelijkbaar in gebruik, waardoor het gemakkelijk te gebruiken is voor gebruikers die bekend zijn met FTP.
Belangrijkste kenmerken
De belangrijkste kenmerken van het sftp-commando zijn:
- Versleutelt alle communicatie gebaseerd op SSH.
- Biedt een interactieve commando-interface die vergelijkbaar is met FTP.
- Gebruikt één poort (standaard 22), wat gunstig is in firewallomgevingen.
- Ondersteunt diverse functies zoals bestand uploaden (`put`), downloaden (`get`), en directory wijzigen (`cd`, `lcd`).
SFTP vs. FTP
SFTP en FTP verschillen aanzienlijk in bestandsoverdrachtsmethode en beveiliging.
- SFTP: Verzendt gegevens versleuteld via SSH, dus veilig. Gebruikt poort 22 en verwerkt alle communicatie via één poort.
- FTP: Verzendt gegevens in platte tekst, wat kwetsbaar is voor beveiliging. Gebruikt poort 21 en vereist aparte poorten voor gegevensoverdracht.
Belangrijkste opties
sftp kan, vergelijkbaar met FTP, in een interactieve modus worden gebruikt, of niet-interactief met specifieke commando's.
1) 실행 옵션
2) 대화형 모드 내부 명령
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`sftp` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Gebruiksvoorbeelden
Verken de verschillende gebruiksvoorbeelden van het sftp-commando om de functionaliteiten te leren.
Verbinding maken met server in interactieve modus
sftp user@server.com
Maak verbinding met `server.com` met het `user`-account en ga naar de interactieve modus.
Bestand downloaden
sftp user@server.com
... (na verbinding)
cd /var/log
get syslog ~
Download het `syslog`-bestand vanuit de `/var/log`-directory op de externe server naar de `~`-directory lokaal.
Bestand uploaden
sftp user@server.com
... (na verbinding)
cd /var/www
put /home/user/document.txt
Upload het bestand `/home/user/document.txt` van lokaal naar de `/var/www`-directory op de externe server.
Bestandsoverdracht in niet-interactieve modus
sftp user@server.com:/remote/path <<< 'put localfile.txt'
Gebruik het `put`-commando in niet-interactieve modus om bestanden in één keer te uploaden.
Installatie
sftp is standaard inbegrepen in de meeste Linux-distributies als onderdeel van het `openssh-client` pakket. Als de SSH-client al is geïnstalleerd, is geen aparte installatie nodig.
Debian/Ubuntu
sudo apt update
sudo apt install -y openssh-client
RHEL/CentOS/Fedora
sudo dnf install -y openssh-clients
Tips & Waarschuwingen
Hier zijn enkele belangrijke punten om rekening mee te houden bij het gebruik van het sftp-commando.
Tips
- sftp gebruikt, net als `scp`, SSH-authenticatiegegevens. U kunt de verbindingsinstellingen eenvoudig beheren met het `~/.ssh/config`-bestand.
- Typ `help` in de interactieve modus om een lijst van alle interne commando's te zien. Naast `put` en `get` kunt u ook `mput` en `mget` gebruiken om meerdere bestanden over te dragen.
- Bij netwerkproblemen of authenticatiefouten kan het gebruik van de `-v` optie voor gedetailleerde uitvoer helpen bij het oplossen van problemen.