ssh tunnel when no public IP

Connect client to server via ssh tunnel where client and server have to create a tunnel.

First redirect port 2222 on client to port 2223 on intermediary. Second redirect port 2223 on intermediary to port 22 on server. Finally connect to localhost on port 2222.

Client

$ ssh xx@intermediary -L 2222:localhost:2223

Server

$ ssh xx@intermediary -R 2223:localhost:22

Client

$ ssh yy@server -p 2222

client -> (2222 -> 2223) gateway (2223 -> 22) <- server
client ->  2222 ------------------------- 22 -> server

Django

Passionate Django developer with 10 years of experience on sites and apps for e-commerce, chat, picture sharing, CMS and blogs.

Bike

What else? Trains and yacht are also a great transportation way but don't fit well with cities.

Weed

How can a plant be illegal?