gpt4 book ai didi

python - 如何使用 SSH key 通过 Paramiko 连接到 SFTP - Pageant

转载 作者:太空狗 更新时间:2023-10-29 21:00:59 32 4
gpt4 key购买 nike

我正在尝试使用受密码保护的 SSH key 通过 Paramiko 连接到 SFTP。我已将 key 加载到 Pageant 中(我知道 Paramiko 支持它)但我无法用它来解密我的私钥。

我找到了这个例子here引用 allow_agent=True 但这似乎不是可与 SFTPClient 一起使用的参数。

谁能建议是否可以通过这种方式与 Paramiko 和 Pageant 合作?

这是我目前的代码 - 它引发了 PasswordRequiredException

privatekeyfile = 'path to key'
mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
transport = paramiko.Transport(('host', 'port'))
transport.connect('username',pkey = mykey)
sftp = paramiko.SFTPClient.from_transport(transport)

最佳答案

使用 RSAKey.from_private_key_file 加载加密 key 时,您必须提供密码。 .

但请注意,在使用 Pageant 时,您根本不需要加载 key 。这就是使用身份验证代理的意义所在。但只有 SSHClient class支持选美。 Transport 类本身没有。

您可以按照How to use Pageant with Paramiko on Windows?中的代码进行操作
尽管 allow_agent 默认为 True,但实际上代码没什么特别的

连接并通过身份验证后,使用 SSHClient.open_sftp method获取您的 SFTPClient 实例。

ssh = paramiko.SSHClient()
ssh.connect(host, username='user', allow_agent=True)
sftp = ssh.open_sftp()

您还需要验证主机 key :
Paramiko "Unknown Server"

关于python - 如何使用 SSH key 通过 Paramiko 连接到 SFTP - Pageant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25399635/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com