Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. import pymysql.cursors
  2. import sshtunnel
  3.  
  4. with SSHTunnelForwarder(
  5. ('gateway_host', gateway_port),
  6. ssh_username='ssh_username',
  7. ssh_pkey='/path/to/id_rsa',
  8. ssh_private_key_password='pw',
  9. remote_bind_address=('remote_bind', 3306),
  10. local_bind_address=('127.0.0.1', 3306),
  11. logger=create_logger(loglevel=1)
  12. ) as tunnel:
  13. print('Establishing connection')
  14.  
  15. print('tunnel_bindings:', tunnel.tunnel_bindings)
  16. print('tunnel_is_up:', tunnel.tunnel_is_up)
  17. print('local_bind_port:', tunnel.local_bind_port)
  18.  
  19. connection = pymysql.connect(host='127.0.0.1',
  20. port=3306,
  21. user='db_username',
  22. password='db_password',
  23. db='db_name',
  24. cursorclass=pymysql.cursors.DictCursor)
  25.  
  26. try:
  27. with connection.cursor() as cursor:
  28. sql = '''SELECT VERSION();'''
  29. cursor.execute(sql)
  30. result = cursor.fetchall()
  31. print(result)
  32. finally:
  33. connection.close()
  34.  
  35. print('Finish')
  36.  
  37. 2017-07-26 22:42:37,788| INF | Srv-3306/1318@sshtunnel | Opening tunnel: 127.0.0.1:3306 <> remote_bind:3306
  38. tunnel_bindings: {('remote_bind', 3306): ('127.0.0.1', 3306)}
  39. tunnel_is_up: {('127.0.0.1', 3306): True}
  40. local_bind_port: 3306
  41. 2017-07-26 22:42:37,864| TRA | Thread-3/0347@sshtunnel | #1 <-- ('127.0.0.1', 63007) connected
  42.  
  43. ssh -L 3306:remote_bind:3306 ssh_username@gateway_host -p gateway_port -N
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement