I'd like to basically pipe a wget
command to a file on a remote server over SSH. How can I do this? I know I could simply ssh
into the server and have it download the file, but I'd much rather use the local machine to download it and send it.
1 Answer
So you are logged into a machine myclient
and have ssh
access to another machine myserver
. You want to download a file over HTTP from a remove server www.example.com
to myclient
but the data needs to be saved on myserver
. This should do it:
wget -O - http://www.example.com/whatever | ssh myserver 'cat >/path/to/remote/destination'
Alternatively, you could mount the myserver
's filesystem over SSH with sshfs. This may be too much hassle for a one-off need, but convenient if you do this sort of thing often.
mkdir ~/myserver
sshfs myserver:/ ~/myserver
wget -O ~/myserver/path/to/remote/destination http://www.example.com/whatever
-
Yeah, that's exactly what I wanted to do. I needed to run the actual HTTP download on
A
, but copy the file over SSH toB
without actually storing the file onA
. Win! Mar 10, 2011 at 20:30