Python paramiko-使用公私钥对(PuTTY)与Linux服务器连接

时间:2019-03-20 15:10:55

标签: python ssh paramiko private-key

我正在尝试使用Python的paramiko库连接到Linux服务器。我已经使用PuTTYGEN(密钥的类型-在密钥下拉列表中-'SSH-2 RSA密钥;在参数字段-'RSA'中)生成了公私密钥对。我在~/.ssh/authorized_keys2中添加了公钥的输出。为了连接到服务器,我需要使用PAGEANT中的密码解密私钥(private_key.ppk)。

手动登录时(启动Putty,双击保存的连接),一切正常-我无需使用密码即可连接到服务器。

我的Python代码:

import paramiko
import os
from credentials import * # password file

private_key = "path\\to\\the\\private\\key.ppk"
k = paramiko.RSAKey.from_private_key_file(private_key, password=password)
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect(hostname = 'server_ip_address', port=port, username = username, pkey=k)

我收到以下错误:

paramiko.ssh_exception.SSHException: not a valid RSA private key file

我怀疑.ppk无法处理paramiko扩展名。

0 个答案:

没有答案