Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have seen questions on tunnelling SSH through multiple machines but I want to tunnel a SOCKS connection.

Normally I would use something like ssh -C2qTnN -D 8080 username@remote_machine to make the local port 8080 a SOCKS tunnel through the remote machine. I would like to open a socks connect from my laptop on machine2, that can only be reached via SSH from machine1.

So rather than tunnelling SSH connections in the normal sense, I suppose I wish to run that command on machine1 so the local port 8080 is redirected to machine2 and somehow pipe 8080 on machine1 back to a local port on laptop.

share|improve this question

1 Answer 1

up vote 4 down vote accepted

So, if I understand correctly, you can ssh from machine 1 to machine 2 but not from your laptop (from which you can ssh to machine 1). So you'd like to have a socks server on machine 1 and use it from your laptop? So looks like all you need is port forward that 8080: run on your laptop:

ssh -nL 8080:localhost:8080 machine1 ssh -C2qnN -D 8080 username@machine2
share|improve this answer
    
Amazing, thanks! The quote marks haven't shown in your answer but that works. It's also worth adding to your answer, that machine1 need key authentication to machine2, so it is non interactive. –  jwbensley Dec 13 '12 at 22:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.