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

使用RSA连接Snowflake时出现KeyError: 'PRIVATE_KEY_PASSPHRASE'错误求助

问题分析

报错KeyError: 'PRIVATE_KEY_PASSPHRASE'的原因很直接:代码尝试读取名为PRIVATE_KEY_PASSPHRASE的环境变量,但你的系统中未配置该变量。他人环境能正常运行,是因为他们已经完成了这个环境变量的设置。

解决步骤

1. 针对RSA密钥的两种情况处理

情况1:你的RSA密钥设置了加密密码

Windows系统

  • 临时生效:打开命令提示符(CMD),执行以下命令(替换为你的密钥密码),然后在同一个窗口运行Python脚本:
set PRIVATE_KEY_PASSPHRASE=你的密钥密码
  • 永久生效:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在「用户变量」或「系统变量」中点击「新建」,变量名填PRIVATE_KEY_PASSPHRASE,变量值填密钥密码,重启命令行或IDE后生效。

Linux/macOS系统

  • 临时生效:打开终端,执行以下命令,然后在同一个终端运行脚本:
export PRIVATE_KEY_PASSPHRASE=你的密钥密码
  • 永久生效:编辑~/.bashrc(Bash)或~/.zshrc(Zsh)文件,添加上述export命令,执行source ~/.bashrc(或对应配置文件)使设置生效。

情况2:你的RSA密钥没有加密密码

直接修改代码中加载私钥的部分,移除password参数:

with open("RSA/rsa_key.p8", "rb") as key:
    p_key= serialization.load_pem_private_key(
        key.read(),
        password=None,  # 也可以直接删除这一行
        backend=default_backend()
    )

2. 额外检查项

  • 确认密钥文件路径正确:脚本运行时的当前目录是否能找到RSA/rsa_key.p8,建议使用绝对路径(比如Windows下的C:/Snowflake/Learning/Python/VSO/RSA/rsa_key.p8)避免路径问题。
  • 验证Snowflake用户公钥配置:登录Snowflake控制台,检查用户PRABHA是否已关联正确的公钥(公钥可通过openssl rsa -in rsa_key.p8 -pubout命令从你的私钥文件生成)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 11:12:42