SSH tunneling

From FSU Fox's Lab Wiki
Revision as of 19:42, 28 April 2022 by Rtang (talk | contribs) (Created page with "This is a simple guideline for using ssh tunneling. ssh connection uses port 22 to communicate by default. Suppose we have this situation: 800px|frameless|none haha.myhome cannot directly connect to fox.fsu.edu, but able to connect to gateway.fsu.edu. For the interactive shell, that would be not a problem, #from haha.myhome, login to gateway.fsu.edu #from gateway.fsu.edu, login to fox.fsu.edu However, it is very clumsy to copy...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This is a simple guideline for using ssh tunneling.

ssh connection uses port 22 to communicate by default.

Suppose we have this situation:

SSH tunneling diagram.png

haha.myhome cannot directly connect to fox.fsu.edu, but able to connect to gateway.fsu.edu.

For the interactive shell, that would be not a problem,

  1. from haha.myhome, login to gateway.fsu.edu
  2. from gateway.fsu.edu, login to fox.fsu.edu

However, it is very clumsy to copy files from fox.fsu.edu to haha.fsu.edu, there is no direct connection.

In this case, ssh tunning makes life easier.

To use gateway.fsu.edu as a bridge, bridge to fox.fsu.edu, port 22 to haha.myhome, port 9896, by using the following command

haha.myhome$ssh -N gatewayUser@gateway.fsu.edu -L 9896:fox.fsu.edu:22

After the bridge is established, port 9896 at hah.myhome is connected to port 22 at fox.fsu.edu. So, we can either ssh, scp, or rsync by

haha.myhome$ssh -P 9896 foxUser@localhost
haha.myhome$scp -P 9896 foxUser@localhost:<files> <haha.myhome_destination>
haha.myhome$rsync -arvzp -e 'ssh -p 9896' foxUser@localhost:<files> <haha.myhome_destination>