关于通过私钥与 python 结构连接的问题
Question about connection by private key with python fabric
如何使用私钥为我的连接指定密码?我在织物文档中没有找到任何相关信息。
这是我的连接:
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"},)
Here you can find more details. Also in here.
推荐的方法 是在您的 shell 会话中导出环境变量。例如export SSH_PASSPHRASE="gongo-aso!
然后可以在传递给 Connection 对象的构造函数的 connect_kwargs
选项中读取和使用它。
connect_kwargs = {
'passphrase': getenv('SSH_PASSPHRASE')
}
c = Connection('user@ip.address', connect_kwargs=connect_kwargs)
根据documentation,您可以通过以下方式传递密码:
c = Connection(host="host",user="usr",connect_kwargs={"key_filename": "/home/user/.ssh/pkey","passphrase":"mysecretpassphrase"},)
如何使用私钥为我的连接指定密码?我在织物文档中没有找到任何相关信息。
这是我的连接:
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"},)
Here you can find more details. Also in here.
推荐的方法 是在您的 shell 会话中导出环境变量。例如export SSH_PASSPHRASE="gongo-aso!
然后可以在传递给 Connection 对象的构造函数的 connect_kwargs
选项中读取和使用它。
connect_kwargs = {
'passphrase': getenv('SSH_PASSPHRASE')
}
c = Connection('user@ip.address', connect_kwargs=connect_kwargs)
根据documentation,您可以通过以下方式传递密码:
c = Connection(host="host",user="usr",connect_kwargs={"key_filename": "/home/user/.ssh/pkey","passphrase":"mysecretpassphrase"},)