首頁 > 資料庫 > mysql教程 > 如何透過 SSH 隧道將 Python 安全地連接到遠端 MySQL 伺服器?

如何透過 SSH 隧道將 Python 安全地連接到遠端 MySQL 伺服器?

Linda Hamilton
發布: 2024-12-01 15:02:10
原創
868 人瀏覽過

How to Securely Connect Python to a Remote MySQL Server via SSH Tunneling?

透過SSH 隧道將Python 連接到MySQL

透過SSH 隧道在Python 和遠端MyMy重要檢索和操作。雖然基本的 MySQL 連線很簡單,但建立加密的 SSH 隧道會增加額外的安全層。

以下是如何讓 Python 透過 SSH 隧道連接到 MySQL:

import pymysql
import paramiko
import pandas as pd
from paramiko import SSHClient
from sshtunnel import SSHTunnelForwarder
from os.path import expanduser

home = expanduser('~')
mypkey = paramiko.RSAKey.from_private_key_file(home + pkeyfilepath)

sql_hostname = 'sql_hostname'
sql_username = 'sql_username'
sql_password = 'sql_password'
sql_main_database = 'db_name'
sql_port = 3306
ssh_host = 'ssh_hostname'
ssh_user = 'ssh_username'
ssh_port = 22
sql_ip = '1.1.1.1.1'

with SSHTunnelForwarder(
        (ssh_host, ssh_port),
        ssh_username=ssh_user,
        ssh_pkey=mypkey,
        remote_bind_address=(sql_hostname, sql_port)) as tunnel:
    conn = pymysql.connect(host='127.0.0.1', user=sql_username,
            passwd=sql_password, db=sql_main_database,
            port=tunnel.local_bind_port)
    query = '''SELECT VERSION();'''
    data = pd.read_sql_query(query, conn)
    conn.close()
登入後複製

此程式碼使用 SSHTunnelForwarder 在本機電腦和遠端 MySQL 伺服器之間建立 SSH 隧道。 SSH 連線使用私鑰進行身份驗證,確保增強的安全性。

隧道建立後,將與隧道的本地位址建立 Python MySQL 連接,從而安全地存取 MySQL 資料庫。然後可以執行查詢以檢索或操作來自伺服器的資料。

以上是如何透過 SSH 隧道將 Python 安全地連接到遠端 MySQL 伺服器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板