Configuration

private-client - 192.168.0.10
jenkins-ec2 - 54.xx.xx.84

On jenkins-ec2

$ ifconfig
> ...
> docker0 Link encap:Ethernet HWaddr 02:42:34:49:99:84
> inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
> ...

On private-client

$ ssh -i KEY_FILE -NfR 12345:localhost:22 ubuntu@54.xx.xx.84

Back to jenkins-ec2

Now we can login private-client on jenkins-ec2

$ ssh user@localhost -p 12345

However, for docker container in jenkins-ec can’t login private-client.
To enble that just need modify the configuration on jenkins-ec2:

/etc/ssh/sshd_config
GatewayPorts yes

And run:
on jenkins-ec2
# /etc/init.d/ssh restart

In docker container on jenkins-ec2

in container
$ ssh -i user@172.17.0.1 -p 12345

Reference

[SSH reverse tunnel]
[SSH reverse tunnel]: https://toic.org/blog/2009/reverse-ssh-port-forwarding/