如何使用结构转发代理?
我成功地使用我的私钥对在远程服务器上运行命令。
但是,我想使用我的本地密钥(或使用我所在的本地 ssh 代理)在远程服务器上执行 git clone ssh://private/repo 。
如何用布料来做呢?
I am successfully run()
ning commands on remote server with my private key pair.
However, I'd like to do git clone ssh://private/repo
on remote server using my local key (or using local ssh agent I'm in).
How to do it using fabric?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从版本 1.4 开始,
fabric
具有 启用代理转发的环境选项。UPD:此功能在
fabric< 之前有问题 /代码> 1.4.2
Since version 1.4
fabric
has environment option that enables agent forwarding.UPD: This feature was buggy before
fabric
1.4.2简而言之,fabric 使用 paramiko 的分叉版本,并且 paramiko 不支持 ssh 代理转发。
长答案是 fabric 和 paramiko。即使在结构问题中有一个评论,其中包含指向以下分支的链接Fabric 和分叉的 paramiko 版本都支持 ssh 转发。因此,如果您想使用该功能,您需要从那里获取最新版本或等待一段时间直到正式发布。
The short answer is that fabric uses a forked version of paramiko and that paramiko doesn't support ssh agent forwarding.
The long answer is that there are issues for this both for fabric and paramiko. Even there's a comment in the fabric issue that contains links to a fork of both fabric and the forked paramiko version with ssh forwarding support. Hence, if you want to make use of that feature you'll need to get the latest version from there or wait for a while until it's officially released.