关于通过私钥与python结构连接的问题



如何使用私钥为连接指定密码短语?我在织物文档中没有找到任何关于这方面的信息。

这是我的连接:

c = Connection(host="host",user="usr",connect_kwargs={"key_filename": "/home/user/.ssh/pkey",},)

错误:

paramiko.ssh_exception.PasswordRequiredException: Private key file is encrypted

根据文档说明:

connect_kwargs.passphrase配置选项是提供要自动使用的密码短语的最直接方法。

快速修复:

c = Connection(host="host",user="usr",connect_kwargs={"key_filename": "/home/user/.ssh/pkey", "passphrase": "demo"},)

在这里你可以找到更多的细节。也在这里。

推荐的方法是在shell会话中导出环境变量。例如export SSH_PASSPHRASE="gongo-aso!">

然后,可以从传递给Connection对象的构造函数的connect_kwargs选项中读取并使用该选项。

connect_kwargs = {
'passphrase': getenv('SSH_PASSPHRASE')
}
c = Connection('user@ip.address', connect_kwargs=connect_kwargs)

根据文档,您可以通过以下方式传递密码:

c = Connection(host="host",user="usr",connect_kwargs={"key_filename": "/home/user/.ssh/pkey","passphrase":"mysecretpassphrase"},)

最新更新