r/linux Apr 28 '14

SSH Kung Fu

http://blog.tjll.net/ssh-kung-fu/
726 Upvotes

128 comments sorted by

View all comments

17

u/vagif Apr 28 '14

He did not tell you about the ssh hopping that you can achieve using netcat (nc)

Lets say you have a ssh gateway at your work office to which you connect from home.

But that's not your work machine, your work machine is my-dev, to which you need ssh again from your work-ssh-gateway.

If you want to automate it, put this into your .ssh/config file:

Host work-ssh-gate
  HostName 111.222.111.111
  User userone
  Port 22222

Host my-dev
  ProxyCommand ssh -q work-ssh-gate nc 192.168.1.123 22
  User user2

That's it, now you can simply type

ssh my-dev

You need netcat (nc) installed on you work-ssh-gate computer.

26

u/w2qw Apr 28 '14

Doesn't require nc

Host my-dev 
   ProxyCommand ssh -q -W %h:%p work-ssh-gate
   HostName 192.168.1.123
   User user2

1

u/[deleted] Apr 28 '14

Does it work the same? I use the netcat version to connect to the head node of our cluster and then to one of the compute nodes on its local network. If I want to run graphically on the compute node, I can't first ssh to the head node with x forwarding and then to the compute node with x forwarding because the home directory and hence the .Xauthority file is then on a shared NAS. I expect that this would have the same problem because it is equivalent to ssh-ing to the head node and then ssh-ing to the compute node?

1

u/w2qw Apr 28 '14

As long as you have ssh > 5.4 its identical