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

腾讯建设网站视频下载湖南网站建设大全

腾讯建设网站视频下载,湖南网站建设大全,可以做哪些有趣的网站,建设电子商务网站流程本文介绍通过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://www.dtcms.com/a/425859.html

相关文章:

  • 网站建设特效大全电商云仓
  • 营销型网站设计建设公司一般网站建设流程有哪些步骤
  • 淘宝客网站域名备案吗app制作教程课件
  • 商务网站建设组成包括网站优化推动高质量发展心得
  • 企业信息公开网站两学一做专题教育网站
  • 提供郑州网站建设郑州住房和城乡建设官网
  • 1个ip可以做几个网站吗谷歌浏览器网页截图快捷键
  • 湖南智能网站建设多少钱电商网站开发平台哪个好
  • 电子商务网站建设成本金蝶软件免费版下载
  • html5美食网站搭建个人博客网站
  • 网站诊断工具网站建设价目
  • 上海网站建设管理flash做网站步骤
  • 广州海珠网站开发汝州市文明建设门户网站
  • 微站是什么东西seo与网站优化
  • 前端电商网站设计论文抖音代运营一般几个周期
  • 自适应企业网站用什么框架做网站建设服务描述
  • 深圳龙岗做网站建设银行官方网站购房贷款利率
  • 快速学习网站制作网站开发 在html标记后出现乱码 查看源文件显示是问好
  • 网站目录 自动网页制作与网站建设宝典 pdf
  • html5如何实现网站开发手机网站电话漂浮代码
  • 长春建站网站建设北京口碑最好的教育机构
  • 手机网站微信支付接口开发教程英文网站建设维护
  • 网站建设在国内外研究现状华为应用商店下载
  • 织梦网站模板下载网站横幅怎么制作教程
  • 网站建设与管理的认识wordpress投稿图片
  • 网络营销的网站分类有全网搜索软件下载
  • 丹东市住房与城乡建设厅网站推广引流话术
  • 网站推广软件免费观看wordpress连接直达
  • 商业网站的创建程序嘉兴模板建站定制网站
  • 乐至建设局网站最新清远发布