关于使用私钥与python架构进行连接的问题

问题描述 投票:0回答:2

如何为我的私钥连接指定密码?我没有在面料文档中找到关于此的任何信息。

这是我的联系:

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

和错误:

paramiko.ssh_exception.PasswordRequiredException: Private key file is encrypted

python-3.x fabric private-key
2个回答
0
投票

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

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

0
投票

根据文档说:

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

快速修复:

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

Here,您可以找到更多详细信息。也在here中。

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

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

connect_kwargs = {
    'passphrase': getenv('SSH_PASSPHRASE')
}

c = Connection('[email protected]', connect_kwargs=connect_kwargs)
© www.soinside.com 2019 - 2024. All rights reserved.