Tôi thích giữ đường hầm bên trong mã python, tôi không ghét tạo đường hầm theo cách thủ công hoặc riêng biệt, nhờ thư viện sshtunnel rất đơn giản để sử dụng.
Dưới đây là một số mẫu đơn giản sẽ phù hợp với những gì bạn muốn.
import MySQLdb
from sshtunnel import SSHTunnelForwarder
with SSHTunnelForwarder(
('sshhost.domain.com', 22),
ssh_password="sshpasswd",
ssh_username="sshusername",
remote_bind_address=('mysqlhost.domain.com', 3306)) as server:
conn = MySQLdb.connect(host='127.0.0.1',
port=server.local_bind_port,
user='user',
passwd='password',
db='dbname')