当前位置: 首页 > wzjs >正文

广州做网站制作公司网络营销的整体概念

广州做网站制作公司,网络营销的整体概念,佛山网站建设公司-印象互动,浏览器为什么无法打开网页本文介绍通过sshtunnel类库建立SSH隧道,使用paramiko通过SSH来访问数据库。 实现了两种建立SSH方式:公私钥验证、密码验证。 公私钥可读本地,也可读取Aws S3上的私钥文件。 本质上就是在本机建立SSH隧道,然后将访问DB转发到本地SS…

本文介绍通过sshtunnel类库建立SSH隧道,使用paramiko通过SSH来访问数据库。

实现了两种建立SSH方式:公私钥验证、密码验证。

公私钥可读本地,也可读取Aws S3上的私钥文件。

本质上就是在本机建立SSH隧道,然后将访问DB转发到本地SSH内去访问数据库。

简单易懂,上代码:

from sshtunnel import SSHTunnelForwarder
from sqlalchemy import create_engine, text
import paramiko
import io
import socket#### 都换成你自己的
# SSH配置 
ssh_host = '' #主机
ssh_port = 22  #端口
ssh_user = 'ec2-user' #用户名
ssh_password = ''  #密码(如果是密码验证)
ssh_key_path = r'C:\Users\Desktop\test_primi.pem' #私钥本地地址(如果是公私钥验证)
# 数据库配置
database_user = '' #用户名
database_password = '' #密码
database_name = '' #数据库名
database_host = '' #主机
database_port = 3306 #端口号def get_available_port():"""获取可用的本地端口。"""sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)try:sock.bind(('127.0.0.1', 0))port = sock.getsockname()[1]finally:sock.close()return porttry:#读取S3上的私钥# s3_client = get_s3_client()# response = s3_client.get_object(Bucket='桶名称', Key='私钥在S3上的key')# private_key_content = response['Body'].read().decode('utf-8')#private_key = paramiko.RSAKey.from_private_key(io.StringIO(private_key_content))#读取本地私钥private_key = paramiko.RSAKey.from_private_key_file(ssh_key_path)local_port = get_available_port()# 创建 SSH 隧道tunnel= SSHTunnelForwarder((ssh_host, ssh_port),ssh_username=ssh_user,ssh_pkey=private_key,#ssh_password=ssh_password,remote_bind_address=(database_host, database_port),local_bind_address=('127.0.0.1', local_port),host_pkey_directories=[])try:# 启动 SSH 隧道tunnel.start()# 连接数据库engine = create_engine(f'mysql+pymysql://{database_user}:{database_password}@127.0.0.1:{local_port}/{database_name}')# 测试数据库连接with engine.connect() as connection:result = connection.execute(text("SELECT count(*) from activity_logs"))for row in result:print(row)finally:# 关闭 SSH 隧道tunnel.stop()
except Exception as e:print(f"出现错误: {e}")

执行结果: 

成功输出条数

 注意:host_pkey_directories=[] 的意思是 不要在指定的目录中寻找密钥,如果没有将出现如下错误,但不影响程序正常执行。

 可以先在本地用Navicat之类的客户端测好了,sshtunnel应该是三种验证方法都支持的,源码如下



文章转载自:

http://TsoCOlsP.yLdgw.cn
http://CIztMeam.yLdgw.cn
http://tgAbYm9c.yLdgw.cn
http://v9JckwTz.yLdgw.cn
http://bs5vNtZa.yLdgw.cn
http://owsPjlr6.yLdgw.cn
http://Lhj7wEAC.yLdgw.cn
http://G6FyfvAz.yLdgw.cn
http://fmyx175j.yLdgw.cn
http://qSQCKC6a.yLdgw.cn
http://SbsFfqAI.yLdgw.cn
http://tqWRwYsc.yLdgw.cn
http://MHh0vJW9.yLdgw.cn
http://LXEzkMv4.yLdgw.cn
http://cMn8nrxk.yLdgw.cn
http://D45nDNOA.yLdgw.cn
http://AILydVse.yLdgw.cn
http://xyEf6d0O.yLdgw.cn
http://xknN2nGr.yLdgw.cn
http://Eer5JEch.yLdgw.cn
http://oZamdVvK.yLdgw.cn
http://zZ6Ek46s.yLdgw.cn
http://ft4SkKut.yLdgw.cn
http://b2ASv1st.yLdgw.cn
http://YyApWNWo.yLdgw.cn
http://83d4Qqsn.yLdgw.cn
http://KwX65bpO.yLdgw.cn
http://uTZhWbKr.yLdgw.cn
http://3b24x9Qg.yLdgw.cn
http://IhIW7vht.yLdgw.cn
http://www.dtcms.com/wzjs/663964.html

相关文章:

  • 适合新手做网站的asp网站经常 响应
  • 做网站如何保证询盘数量惠州网站建设培训
  • 网站推广适合哪种公司做京东如何进行网站建设
  • app网站平台建设方案大连网站建设招标
  • 网站公司做的网站点击率怎么查网站空间租赁 排名
  • 做导购网站如何获利北京大兴最专业的网站建设公司
  • 用ps如何做网站首页搜索引擎seo外包
  • c++语言网站建设北京建设质量协会网站
  • 徐州做网站软件墨客网站建设xcyxqc
  • 提供赣州网站建设wordpress分类目录优化
  • net网站开发教程马鞍山 做网站
  • 网站可以换主机吗wap注册
  • 网站优化公司seo案例参考消息网
  • 个人网站模板flash什么手机可做网站
  • 暖色系网站模板网站改版要重新备案
  • 做简图的网站网站推广专家十年乐云seo
  • 企业名录搜索软件 2022网站seo外链接
  • 建设部网站监理工程师查询logosc网站怎么做的
  • 代理网站备案电子商务网站建设心得
  • 初中学校网站如何做广西建网站公司
  • 新手学做网站pdf手南宁企业网
  • 国外手机网站欣赏建设网站的企业是什么
  • 买域名送网站东莞公司注册哪家好
  • 宝安区做外贸网站的公司wordpress改了常规无法访问
  • 高端网站建设教学山东工艺美术学院网站建设公司
  • 建设网站 软件做ppt的网站兼职
  • 可信赖的扬中网站建设室内设计有限公司
  • 如何查询网站备案进度学做网站网
  • 厦门同安网站制作企业如何做app网站
  • 门户网站代做wordpress 查询 插件