运行结构任务时是否可以将环境变量传递给远程 ssh 服务器?



情况:我有一些基于 Fabric 的工具,需要传递自定义环境变量才能通过 ssh 进入远程主机(例如,对于run()之类的东西(。普通的香草 ssh 等价物将是

export VAR=foo; ssh -o SendEnv=VAR my.host.com

我知道 Fabric 包装了一个名为 paramiko 的 Python ssh 库,它本身似乎支持这一点,但我对 Fabric 文档的阅读并没有向我展示一种将正确的值传递给run()并让它们传播到 paramiko 库的方法。有没有办法让我用 Fabric 实现我想要的东西?

这是可能的。Connection.run方法接受kwargs,尤其是env字典。 这个 env var 集合将被传递到您的 SSH 会话中。

注意:Connection.run的文档相当少。但幸运的是,它包装了 Invoke 的run方法(与大多数其他 Fabric 方法一样(。 => 你可以在这里看看 Invoke 的run方法

最新更新