Login mit Linux FTP Benutzername und Passwort

Was ist der Befehl für die Anmeldung mit FTP alle mit einer Zeile?

ftp username:[email protected]

Sagt:

Passwort erforderlich für Benutzername: Passwort

Author: Peter Mortensen, 2012-03-03

4 answers

ftp -nv yourftpserver.com

Dann user your_username oder user anonymous


Ich habe diese Antwort gepostet, da ftp ftp://username:[email protected] bei mir nicht funktioniert hat.

Usage: { ftp | pftp } [-46pinegvtd] [hostname]
   -4: use IPv4 addresses only
   -6: use IPv6, nothing else
   -p: enable passive mode (default for pftp)
   -i: turn off prompting during mget
   -n: inhibit auto-login
   -e: disable readline support, if present
   -g: disable filename globbing
   -v: verbose mode
   -t: enable packet tracing [nonfunctional]
   -d: enable debugging
 11
Author: user391339,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-05-28 21:35:36

Die beste Option ist die Verwendung eines .netrc zusammen mit etwas wie gpg für Sicherheitszwecke.

Ich habe dafür ein Allzweckskript geschrieben, das ich später hochladen kann, aber es läuft darauf hinaus:

gpg -c .netrc

Oder wahlweise mit einer Passphrase auf der Kommandozeile und einem Ausgabeziel:

gpg --passphrase <secretphrase> -o .netrc.gpg -c .netrc

Hier nicht gezeigt, aber Sie können zusätzlich asymmetrische Schlüssel (wenn Sie sie eingerichtet haben) mit gpg verwenden, um dies noch sicherer zu machen.

Dann, wenn Sie bereit sind, login -

gpg .netrc.gpg
# or
gpg --passphrase <secretphrase> -o .netrc .netrc.gpg
ftp yourservername
rm .netrc

Ein Beispiel .netrc:

machine google.com
login <username>
password <secretpassword>

Ich behalte tatsächlich einen lokalen Hash und die Originalkopie dieser Dateien auf einem anderen Computer als dem, den ich verwende .netrc-Dateien auf, und überprüfen Sie den hash der .netrc und das Skript, das ich ausführe, aber das geht über die ursprüngliche Frage des OP hinaus.

 4
Author: smaudet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-08-05 08:38:29

Sie können versuchen

my_ftp() {
  ftp -i -n <<EOF
    open $HOST
    user "$USER" "$PASS"
    $@
EOF
}

Die Sie dann mit my_ftp $'ls subfolder\nanothercommand'

Diese Lösung ist nicht interaktiv, aber das Beste, was ich herausfinden konnte

Bearbeiten: Sie sind wahrscheinlich am besten dran, stattdessen nur curl zu verwenden.

 2
Author: phil294,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-02-25 13:49:45

Benutze netrc. Es ist besser, als das Passwort in der Befehlszeile wegzugeben.

 1
Author: Nemo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-05-28 11:22:43