Python 애플리케이션에서는 MySQL 데이터베이스에 액세스해야 하는 경우가 많습니다. 보안 연결을 설정하기 위한 한 가지 기술에는 SSH 터널을 사용하는 것이 포함됩니다. 이 문서에서는 SSH 키 쌍을 활용하여 SSH 터널을 생성하고 Python을 통해 MySQL 연결을 촉진하는 방법을 살펴봅니다.
다음 Python 코드를 고려하세요.
import MySQLdb db = MySQLdb.connect(host="sql.domain.com", user="dev", passwd="*******", db="appdb")
위 코드는 직접 연결을 설정합니다. MySQL 서버에 대한 보안 강화를 위해 SSH 터널이 필요한 시나리오가 있을 수 있습니다. 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 # SSH Parameters home = expanduser('~') mypkey = paramiko.RSAKey.from_private_key_file(home + pkeyfilepath) ssh_host = 'ssh_hostname' ssh_user = 'ssh_username' ssh_port = 22 # MySQL Parameters sql_hostname = 'sql_hostname' sql_username = 'sql_username' sql_password = 'sql_password' sql_main_database = 'db_name' sql_port = 3306 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) # Perform database operations here... conn.close()
이러한 기술을 구현하면 Python의 SSH 터널을 통해 MySQL 서버에 안전하게 연결할 수 있습니다. 이 접근 방식은 데이터 기밀성과 무결성을 보장하므로 향상된 보안 조치가 필요한 애플리케이션에 적합합니다.
위 내용은 Python에서 SSH 터널링을 통해 MySQL에 안전하게 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!