Kurztipp: FTP-Verbindungen automatisieren

 Zielgruppe: Einsteiger 

Wenn du viele FTP-Zugänge hast und das Kommandozeilen-Tool "ftp" benutzt, könnte für dich dieser Kurztipp interessant sein. Sei es aus Bequemlichkeit oder um von Shellscripten aus Dateien zu übertragen. Hier erfährst du, wie man FTP-Verbindungen ohne Eingabe von Benutzername/Kennwort aufbaut.

Damit die FTP-Verbindung zu einem Server automatisch aufgebaut werden kann, muss die Datei ".netrc" in deinem Homeverzeichnis existieren. Die Syntax einer jeden Zeile dieser Datei sieht wie folgt aus:

machine [HOSTNAME] login [USERNAME] password [KENNWORT]

Am besten erkläre ich die Konfiguration anhand eines Beispiels. Wir gehen also von folgenden Zugangsdaten aus:

Hostname: host.domain
Username: mustermann
Kennwort: geheim

Die entsprechende Zeile der Datei "~/.netrc" sieht dann so aus:

machine host.domain login mustermann password geheim

Nun müssen noch die Rechte der Datei korrekt gesetzt werden. Dazu dient das folgende Kommando:

chmod 600 ~/.netrc

Wenn man nun auf der Konsole oder in einem Terminal "ftp host.domain" eingeben würde und es auf dem Server den Benutzer "mustermann" mit dem Kennwort "geheim" gäbe, würde die Verbindung ohne Eingabe von Benutzername/Kennwort aufgebaut werden.

Für immer wiederkehrende Aufgaben (z. B. Dateien per FTP herunterladen/hochladen) können die sonst vom Benutzer einzugebenden Befehle direkt in ein Shell-Script geschrieben werden. Im folgenden Beispiel wird die Datei "datei.zip" aus dem Verzeichnis "programm" heruntergeladen:

ftp host.domain <<EOF
bi
cd programm
get datei.zip
quit
EOF