如何使用私钥为连接指定密码短语?我在织物文档中没有找到任何关于这方面的信息。
这是我的连接:
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"},)