Wie Linux-Befehlszeile ftp mit einem @ -Zeichen in meinem Benutzernamen benutzen? [geschlossen]
Frage
Wie kann ich laufen diese auf Linux-Befehlszeile, wenn mein Benutzername ein @
Zeichen in der Mitte hat?
ftp -u user:password@host/destination_folder/ sourcefile.txt
Hallo, mein Benutzername ist info@domain.com
und es denkt, dass mein Gastgeber domain.com
ist.
. HINWEIS: Dies ist eine unbeaufsichtigte Upload, also kann ich nicht nur den Benutzernamen und das Passwort eingeben
Lösung
Als Alternative, wenn Sie Konfigurationsdateien erstellen nicht wollen, tun das unbeaufsichtigte Upload mit curl
statt ftp
:
curl -u user:password -T file ftp://server/dir/file
Andere Tipps
Versuchen Sie dies: Verwenden Sie "% 40" anstelle des "@"
Versuchen Sie, das Konto in einer ~/.netrc
Datei wie folgt zu definieren:
machine host login info@domain.com password mypassword
Überprüfen Sie man netrc
.
Ich tippe einfach ftp hostdomain.com
und schon am nächsten Prompt fragte mich, einen Namen einzugeben, wenn es nicht das gleiche wie meine aktuellen Benutzer war.
Ich denke, es hängt davon ab, wie Sie Ihren FTP konfiguriert ist. Das heißt, ob es den gleichen Benutzernamen annimmt (wenn nicht vorhanden) oder fragt. Die gute Nachricht ist, dass auch ohne eine Lösung, das nächste Mal das Gesicht es könnte funktionieren ™ für Sie: D
Eine vollständigere Antwort sei es mit ftp (zumindest dem FTP-Programm installiert auf CentOS 6) nicht möglich ist.
Da Sie einen nicht besucht Prozess „Punkte“ 's Antwort wird gut funktionieren.
gesuchtHaben Sie die unbeaufsichtigte Upload mit curl statt ftp:
curl -u user:password -T file ftp://server/dir/file
% 40 scheint nicht zu funktionieren.
[~]# ftp domain.com
ftp: connect: Connection refused
ftp> quit
[~]# ftp some_user%40domain.com@domain.com
ftp: some_user%40domain.com@domain.com: Name or service not known
ftp> quit
Alles was ich habe ist das FTP-Programm zu öffnen und die Domäne verwenden und den Benutzer eingeben, wenn Sie gefragt. Üblicherweise wird ein Kennwort benötigt sowieso, also die interaktive Natur wahrscheinlich nicht problematisch ist.
[~]# ftp domain.com
Connected to domain.com (173.254.13.235).
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 1000 allowed.
220-Local time is now 02:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (domain.com:user): some_user@domain.com
331 User some_user@domain.com OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
curl -f es --disable-EPSV -u someone@somewhere.com: gr8p455w0rd -T / some / dir / filename ftp://somewher.com/ByramHealthcareCenters/byram06-2011.csv
Ich habe noch nie den -u
Parameter gesehen. Aber wenn Sie ein „@“ verwenden möchten, wie etwa dem Hinweis, sie als „\ @“?
Auf diese Weise interpretiert werden sollte, wie Sie möchten. Sie wissen, dass so etwas wie
ftp -u user\@domain.tld@ftp.host.tld