Python Fabric:跳过需要密码的登录

Gar*_*arr 2 python passwords ssh fabric

我有一个类似的问题: 如何跳过要求输入密码的Fabric连接? 没有答案.我正在寻找一种方法让Fabric认为任何主机都要求输入密码而不是SSH密钥登录,因为这意味着我连接的用户因为服务器上没有帐户(我是迭代一大堆主机).我试过设定

env.password = None
Run Code Online (Sandbox Code Playgroud)

env.password = 'none'
Run Code Online (Sandbox Code Playgroud)

以及

with setting(warn_only=True):
Run Code Online (Sandbox Code Playgroud)

但Fabric一直要求输入密码.有什么方法吗?

Ped*_*ano 7

我相信env.abort_on_prompts将实现您的需求,即在需要任何类型的用户交互时失败,同时在可以进行公钥认证时工作.

根据文档,此选项调用abort(),后者又使用sys.exit,它引发SystemExit,从而可以abort通过使用except SystemExit或类似方式检测内部调用并从中恢复.