I've tried to connect to a server via wget:
wget http://<user>:<pass>@serveradress
But wget responds: invalid port
I know that the server accepts incoming traffic at port 80. How can I fix this issue?
Wget interprets <pass>@serveraddress as port. To specify a username and password, use the --user and --password switches:
wget --user user --password pass http://example.com/
From man wget:
--user=user
--password=passwordSpecify the username user and password password for both FTP and HTTP file retrieval. These parameters can be overridden using the
--ftp-userand--ftp-passwordoptions for FTP connections and the--http-userand--http-passwordoptions for HTTP connections.
You have 3 options here. They are in no specific order other than gut feeling:
history)wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext
The password will also be visible in ps, top, htop and similar.
wget --user=remote_user --password=SECRET ftp://ftp.example.com/file.ext
Notice the white space before the command, it prevents saving it to your history.
The password will also be visible in ps, top, htop and similar. (Thanks user412812)
wget --user=remote_user --ask-password ftp://ftp.example.com/file.ext
Then you're asked for the password
Password for user `remote_user':
You can also store the username and password in the file ~/.wgetrc
and change the permissions of that file so that only your user can
read it:
File ~/.wgetrc:
user=john
password=SEcrEt
... and then
chmod 600 ~/.wgetrc
Note, however, that user root can still peek into that file and
read the password.
From the manpage:
To prevent the passwords from being seen, use the
--use-askpassor store them in.wgetrcor.netrc, and make sure to protect those files from other users with"chmod". If the passwords are really important, do not leave them lying in those files either --- edit the files and delete them after Wget has started the download.
This should work (don't miss the quotes)
wget 'http://<user>:<pass>@<serveradress>/<path>/<filename>'
Example for my access to the builds on ftp server
wget 'ftp://DOMAIN\thomas:dasbleibtgeheim@build.server12321.dd/download/bins/lastnightly_v1.2.3.bin'
Note: To avoid to get this in your shell history add a space in front of wget --> wget
You can provide authentication credential via --user=USERNAME and --password=PASSWORD; based on the man wget, the command can be overridden using the --http-user=USERNAME and --http-password=PASSWORD for http connection and the --ftp-use=USERNAME and --ftp-password=PASSWORD for ftp connection.