You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework通过SSH隧道连接PostgreSQL数据库超时问题求解

问题根因

你出现连接超时是两个配置错误共同导致的:

  • Create Local SSH Tunnel 关键字参数使用错误:该关键字的参数规则为本地监听端口 远端目标服务IP 远端目标服务端口,你当前最后一个参数填的22是SSH服务端口,实际需要替换为PostgreSQL的服务端口5432
  • 数据库连接配置错误:本地SSH隧道建立后,是通过本地端口转发实现访问远端内网服务,因此连接数据库时不能直接填写远端数据库IP,需要将数据库地址改为127.0.0.1,端口改为你设置的本地隧道监听端口9191
修复后完整测试代码
*** Settings ***
Library    DatabaseLibrary
Library    SSHLibrary

*** Variables ***
${IP_DATABASE}    10.xxx.xxx.xx
${PORT_DB}    5432
${DB_NAME}    MyNameDB
${SCHEMA_DATABASE}    MySchemaDB
${USER_DB}    MyUserDB
${PASSWORD_DB}    MyPasswordDB
# 新增本地隧道端口变量
${LOCAL_TUNNEL_PORT}    9191

*** Test Cases ***
Connect To DB Via SSH
    SSHLibrary.Open Connection    10.xxx.xxx.xx  
    SSHLibrary.Login     MySSH_User    MySSH_Password    delay=1      
    # 修改最后一个参数为数据库端口5432
    SSHLibrary.Create Local SSH Tunnel    ${LOCAL_TUNNEL_PORT}    ${IP_DATABASE}    ${PORT_DB}
    Sleep    2s
    # 修改数据库地址为127.0.0.1,端口为本地隧道端口
    DatabaseLibrary.Connect To Database    psycopg2    ${DB_NAME}    ${USER_DB}    ${PASSWORD_DB}    127.0.0.1    ${LOCAL_TUNNEL_PORT}
补充说明

如果你的SSH跳转服务器和PostgreSQL数据库不是部署在同一台机器上,只需要将Create Local SSH Tunnel的第二个参数改为数据库在SSH跳转服务器内网可访问的IP地址即可,其余配置无需调整。

内容的提问来源于stack exchange,提问作者AutomationNeeded

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:36:01