On a remote server I am administering some things via an ssh connection, however I do not have root access. I also need to connect either via VPN or via another computer in the network. The server is also behind a firewall which blocks any outgoing connections - i.e. I can't access remote websites, svn/git repositories or similar on this machine.

Right now in order to install e.g. new plugins, I download them on the intermediate machine and then copy them via scp to the server. However this is getting cumbersome, esp. as I would like an easier way to update the plugins by just doing a git pull or svn update.

While the network admin grants exceptions to certain sites (e.g. wordpress update site), there are several plugin sites and he is not going to add new servers/ports every other week when I want to try out something new ;-) (for the record, I'm permitted to try these plugins)

What would be the easiest way to get the remote machine to send the traffic from the ssh terminal session through this ssh-connection so it has 'real' internet access (at least for me being logged on there)?

My current idea would be to define the http_proxy env-var, set up a local proxy server on my desktop and connect using -R. Is this the best/easiest solution? Or is there something more 'portable'?


I think that your solution is the best one as it can only be applied on your environment (or only where you want and not globally).
It's easy to setup, don't require root privilege. I really don't see something better.


Another approach would be to set up sshfs on the machine you're connecting from, and using that to mount the remote server's filesystem. You can then use git, svn and wget locally on your own machine to keep the remote source tree up to date.

This also has the advantage of letting you use your own native tools on your machine to edit files etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy