gpt4 book ai didi

ruby-on-rails - Capistrano 和 Corkscrew PATH 错误

转载 作者:行者123 更新时间:2023-12-02 14:21:33 25 4
gpt4 key购买 nike

我正在尝试使用 Capistrano 部署我的 Rails 应用程序,但是当涉及到“git ls-remote”时,我收到以下错误:

$ /usr/bin/env git ls-remote --heads git@git.<server>:<project>.git
/bin/bash: line 0: exec: corkscrew: not found
DEBUG [a5205e2a] ssh_exchange_identification: Connection closed by remote host
DEBUG [a5205e2a] fatal: The remote end hung up unexpectedly

如果我尝试在服务器上运行命令没有问题。我还为 gitlab 中的“部署者”用户提供了一个部署 ssh key 。

Corkscrew 位于 ~/bin/corkscrew 下,并添加到 PATH 变量中。
$ echo $PATH
/home/deployer/.rbenv/shims:/home/deployer/.rbenv/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/deployer/bin

$ corkscrew
corkscrew 2.0 (agroman@agroman.net)

usage: corkscrew <proxyhost> <proxyport> <desthost> <destport> [authfile]

$ which corkscrew
~/bin/corkscrew

更新:

这是我的 ~/.ssh/config:
Host *
ProxyCommand corkscrew <server> 8088 %h %p ~/.ssh/proxyauth

而 ~/.ssh/proxyauth 文件包含代理用户的凭据。

如果您需要更多信息,请告诉我。

最佳答案

问题似乎是 ssh找不到 corkscrew可执行。我仔细检查了我的本地 ~/.ssh/config文件,我使用 corkscrew 的完整路径在那里可执行:

Host *
ProxyCommand /usr/local/bin/corkscrew <server> 8088 %h %p ~/.ssh/proxyauth

(因为我在 OS X 上并且已经通过 Homebrew 安装了 corkscrew,所以它位于 /usr/local/bin 中。)

您可以尝试更新您的 ~/.ssh/config吗?包括 corkscrew 的完整路径可执行?像这样的东西(我不知道 ~ 是否可以工作,如果不行,您可能必须使用完整路径):
Host *
ProxyCommand ~/bin/corkscrew <server> 8088 %h %p ~/.ssh/proxyauth

关于ruby-on-rails - Capistrano 和 Corkscrew PATH 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30891025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com