我正在尝试使用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
扩展名。