如何为我的私钥连接指定密码?我没有在面料文档中找到关于此的任何信息。
这是我的联系:
c = Connection(host="host",user="usr",connect_kwargs={"key_filename": "/home/user/.ssh/pkey",},)
和错误:
paramiko.ssh_exception.PasswordRequiredException: Private key file is encrypted
根据documentation,您可以通过以下方式来传递密码:
c = Connection(host="host",user="usr",connect_kwargs={"key_filename": "/home/user/.ssh/pkey","passphrase":"mysecretpassphrase"},)
根据文档说:
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('[email protected]', connect_kwargs=connect_kwargs)