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

使用Paramiko进行SSH密钥认证时触发PasswordRequiredException错误求助

解决方案

1. 转换私钥格式为PEM

从SSH日志可以看到私钥是OpenSSH格式(type 0),部分旧版Paramiko对无口令的OpenSSH格式密钥解析存在bug。执行以下命令转换为PEM格式:

ssh-keygen -p -m PEM -f /Users/aptuz/Downloads/integra_rsa

执行后按提示直接回车(原密钥无口令),完成格式转换后再用原代码测试。

2. 显式传递空口令参数

即使私钥无口令,给from_private_key_file显式传入password='',避免Paramiko内部逻辑误判密钥加密:

pkey = paramiko.RSAKey.from_private_key_file(key_path, password='')
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='xxxxx', pkey=pkey)

3. 升级Paramiko版本

旧版本Paramiko对OpenSSH格式密钥的支持不完善,升级到最新稳定版:

pip install --upgrade paramiko

4. 尝试自动加载密钥(可选)

跳过手动指定私钥,让Paramiko自动加载系统默认路径的密钥,适配部分特殊服务器:

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='xxxxx')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:54:22