Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pymysql.cursors
- import sshtunnel
- with SSHTunnelForwarder(
- ('gateway_host', gateway_port),
- ssh_username='ssh_username',
- ssh_pkey='/path/to/id_rsa',
- ssh_private_key_password='pw',
- remote_bind_address=('remote_bind', 3306),
- local_bind_address=('127.0.0.1', 3306),
- logger=create_logger(loglevel=1)
- ) as tunnel:
- print('Establishing connection')
- print('tunnel_bindings:', tunnel.tunnel_bindings)
- print('tunnel_is_up:', tunnel.tunnel_is_up)
- print('local_bind_port:', tunnel.local_bind_port)
- connection = pymysql.connect(host='127.0.0.1',
- port=3306,
- user='db_username',
- password='db_password',
- db='db_name',
- cursorclass=pymysql.cursors.DictCursor)
- try:
- with connection.cursor() as cursor:
- sql = '''SELECT VERSION();'''
- cursor.execute(sql)
- result = cursor.fetchall()
- print(result)
- finally:
- connection.close()
- print('Finish')
- 2017-07-26 22:42:37,788| INF | Srv-3306/1318@sshtunnel | Opening tunnel: 127.0.0.1:3306 <> remote_bind:3306
- tunnel_bindings: {('remote_bind', 3306): ('127.0.0.1', 3306)}
- tunnel_is_up: {('127.0.0.1', 3306): True}
- local_bind_port: 3306
- 2017-07-26 22:42:37,864| TRA | Thread-3/0347@sshtunnel | #1 <-- ('127.0.0.1', 63007) connected
- ssh -L 3306:remote_bind:3306 ssh_username@gateway_host -p gateway_port -N
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement