Ich habe versucht, über wget eine Verbindung zu einem Server herzustellen:
wget http://<user>:<pass>@serveradress
Aber wget antwortet: ungültiger Port
Ich weiß, dass der Server eingehenden Datenverkehr an Port 80 akzeptiert. Wie kann ich dieses Problem beheben?
wget
hat stattdessen separate Befehlszeilenoptionen für diese, daher wird die Zeichenfolge wahrscheinlich naiv nach der:
als Portnummer analysiert .Antworten:
Wget wird
<pass>@serveraddress
als Port interpretiert . Um einen Benutzernamen und ein Passwort angeben, verwenden Sie die--user
und--password
Schalter:Von
man wget
:quelle
--ask-password
von Nabil Kadimi beschriebene Option. Sie müssen das Kennwort unsichtbar in einer anderen Zeile eingeben und vermeiden, es in Ihrem Shell-Verlauf zu speichern.http://user:password@host/path
"" "Sie können Ihren Benutzernamen und Ihr Passwort auch in einer URL verschlüsseln: " "- HandbuchSie haben 3 Möglichkeiten und hier gibt es in keiner bestimmten Reihenfolge außer Mutgefühl:
1 / Passwort ist für jeden sichtbar (mit dem Befehl
history
)Das Passwort wird auch in ps, top, htop und ähnlichem angezeigt.
2 / Das Passwort ist für jeden sichtbar, der hinter Ihre Schultern schaut
Beachten Sie den Leerraum vor dem Befehl. Er verhindert, dass er in Ihrem Verlauf gespeichert wird.
Das Passwort wird auch in ps, top, htop und ähnlichem angezeigt.
3 / Das Passwort ist für niemanden sichtbar, auch für Sie
quelle
--ask-password
nicht verfügbar ist oder Sie das Passwort nicht jedes Mal eingeben möchten,wget -i link.txt
können Sie helfen, wolink.txt
enthältftp://remote_user:[email protected]/file.ext
Sie können auch den Benutzernamen und das Kennwort in der Datei speichern
~/.wgetrc
und die Berechtigungen dieser Datei so ändern, dass nur Ihr Benutzer sie lesen kann:Datei
~/.wgetrc
:... und dann
Beachten Sie jedoch, dass der Benutzer
root
weiterhin in diese Datei hineinschauen und das Kennwort lesen kann.Aus der Manpage :
quelle
Sie können Authentifizierungsdaten über
--user=USERNAME
und bereitstellen--password=PASSWORD
. basierend aufman wget
kann der befehl über die--http-user=USERNAME
und--http-password=PASSWORD
für http verbindung und die--ftp-use=USERNAME
und--ftp-password=PASSWORD
für ftp verbindung überschrieben werden .quelle
Der Befehl hätte
--http-user
und--http-password
anstelle von--user
und verwenden können--password
. Im Falle einerftp
Anfrage sind die Optionen--ftp-user
und--ftp-password
.quelle
man wget
Zeigt an, dass --user und --password gültige Optionen sind, die von --http-user oder --ftp-password überschrieben werden können