Odpowiedzi:
Wget interpretuje <pass>@serveraddress
jako port. Aby podać nazwę użytkownika i hasło, użyj przełączników --user
i --password
:
wget --user user --password pass http://example.com/
Od man wget
:
--user=user
--password=password
Określ nazwę użytkownika użytkownika i hasło hasło zarówno dla FTP i pobieranie plików HTTP. Parametry te można zastąpić za pomocą opcji
--ftp-user
i--ftp-password
dla połączeń FTP--http-user
oraz--http-password
opcji i dla połączeń HTTP.
--ask-password
opcję opisaną w odpowiedzi Nabila Kadimi. Wprowadza hasło niewidocznie w innym wierszu i pozwala uniknąć przechowywania go w historii powłoki.
Masz 3 opcje, a tutaj nie ma określonej kolejności poza poczuciem odwagi:
history
)wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext
Hasło będzie również widoczne w ps, top, htop i podobnych.
wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext
Zwróć uwagę na biały znak przed poleceniem, ponieważ zapobiega zapisaniu go w twojej historii.
Hasło będzie również widoczne w ps, top, htop i podobnych.
wget --user=remote_user --ask-password ftp://ftp.example.com/file.ext
Password for user `remote_user': [SECRET (not visible)]
--ask-password
nie jest dostępny lub nie chcesz wpisywać hasła za każdym razem, wget -i link.txt
może pomóc, gdzie link.txt
zawieraftp://remote_user:SECRET@ftp.example.com/file.ext
Możesz także zapisać nazwę użytkownika i hasło w pliku ~/.wgetrc
oraz zmienić uprawnienia do tego pliku, aby tylko użytkownik mógł go odczytać:
Plik ~/.wgetrc
:
user=john
password=SEcrEt
... i wtedy
chmod 600 ~/.wgetrc
Pamiętaj jednak, że użytkownik root
nadal może zajrzeć do tego pliku i odczytać hasło.
Z strony podręcznika :
Aby zapobiec wyświetlaniu haseł, użyj
--use-askpass
lub przechowuj je w.wgetrc
lub.netrc
i upewnij się, że chronisz te pliki przed innymi użytkownikami"chmod"
. Jeśli hasła są naprawdę ważne, nie zostawiaj ich również w tych plikach --- edytuj pliki i usuń je po rozpoczęciu pobierania przez Wget.
Możesz podać dane uwierzytelniające za pośrednictwem --user=USERNAME
i --password=PASSWORD
; na podstawie man wget
polecenia można zastąpić za pomocą połączenia --http-user=USERNAME
i --http-password=PASSWORD
dla połączenia http oraz połączenia --ftp-use=USERNAME
i --ftp-password=PASSWORD
dla ftp .
Komenda mogła zostać użyta, --http-user
a --http-password
zamiast --user
i --password
. W przypadku ftp
żądania dostępne są opcje --ftp-user
i --ftp-password
.
man wget
wskazuje, że --user i --password są prawidłowymi opcjami, które mogą zostać zastąpione przez --http-user lub --ftp-password
wget
zamiast tego ma dla nich osobne opcje wiersza poleceń, więc prawdopodobnie naiwnie analizuje ciąg po:
numerze portu.