Odpowiedzi:
Wget interpretuje <pass>@serveraddressjako port. Aby podać nazwę użytkownika i hasło, użyj przełączników --useri --password:
wget --user user --password pass http://example.com/
Od man wget:
--user=user
--password=passwordOkreś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-useri--ftp-passworddla połączeń FTP--http-useroraz--http-passwordopcji i dla połączeń HTTP.
--ask-passwordopcję 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-passwordnie jest dostępny lub nie chcesz wpisywać hasła za każdym razem, wget -i link.txtmoże pomóc, gdzie link.txtzawieraftp://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 rootnadal może zajrzeć do tego pliku i odczytać hasło.
Z strony podręcznika :
Aby zapobiec wyświetlaniu haseł, użyj
--use-askpasslub przechowuj je w.wgetrclub.netrci 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=USERNAMEi --password=PASSWORD; na podstawie man wgetpolecenia można zastąpić za pomocą połączenia --http-user=USERNAMEi --http-password=PASSWORDdla połączenia http oraz połączenia --ftp-use=USERNAMEi --ftp-password=PASSWORDdla ftp .
Komenda mogła zostać użyta, --http-usera --http-passwordzamiast --useri --password. W przypadku ftpżądania dostępne są opcje --ftp-useri --ftp-password.
man wgetwskazuje, że --user i --password są prawidłowymi opcjami, które mogą zostać zastąpione przez --http-user lub --ftp-password
wgetzamiast tego ma dla nich osobne opcje wiersza poleceń, więc prawdopodobnie naiwnie analizuje ciąg po:numerze portu.