Scenario: Create reverse ssh tunnels
Requirement: rforward.py. Please get the rforward.py from paramiko’s repository
Example 1
## filename: example1.spy
from rforward import reverse_forward_tunnel
server_port = 8022
remote_host = 'host-2'
remote_port = 22
with $.connect('user@host-1',passwod='123456') as c:
transport = c.client.get_transport()
reverse_forward_tunnel(server_port, remote_host, remote_port, transport)
Execution & Tests
## Execution on localhost
sshscript example1.spy
## Tests on host-1
ssh -p 8022 user@localhost
Example 2: (Nested Connections)
## filename: example2.spy
from rforward import reverse_forward_tunnel
server_port = 8443
remote_host = 'www.google.com'
remote_port = 443
with $.connect('user@host-1',passwod='123456') as c1:
with $.connect('user@host-2',passwod='123456') as c2:
transport = c2.client.get_transport()
reverse_forward_tunnel(server_port, remote_host, remote_port, transport)
Execution & Tests
## Execution on localhost
sshscript example2.spy
## Tests on host-2
curl -k -H 'Host: www.google.com' https://127.0.0.1:8443/