问题标签 [sshkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
41 浏览

ssh - 是否可以在 Capistrano 3 中转发 X11 窗口?

我正在尝试从远程服务器转发 X11 窗口。通常我可以做类似的事情

ssh -X some@address

然后例如运行

feh image.jpg

image.jpg在我的本地机器上查看图片。是否有可能在 Capistrano 3 中获得这种行为?我正在安装一个软件,它要求我执行通常的“nextnextnextfinish”。我想做类似的事情(在里面config/deploy.rb

set ssh_option, {:forward_x11 => true} #doesn't work

但似乎sshkit没有那个选项。是否有某个地方的列表,ssh_option或者sshkit是否有其他解决方案?

0 投票
0 回答
209 浏览

amazon-ec2 - capistrano3 权限被拒绝(使用代理)

我正在尝试将我的 capistrano v2 脚本迁移到新的 v3.4 版本。

开发阶段一切顺利:我有一个 EC2 实例,部署完成没有错误。

我的生产脚本遇到了一些问题,因为我在生产服务器(EC2 实例)之前有一个代理(EC2 实例);在我的 capistrano v2 脚本中一切正常,现在我使用 cap-ec2 + capistrano v3.4 将我的应用程序仅部署到标记的服务器,但是当我尝试它时,我得到“Permission Denied”,我的生产服务器拒绝我的密钥。

也许我在脚本中设置了代理参数有问题,你能帮帮我吗?

非常感谢!!

在这里您可以找到代理参数:

CAPISTRANO V2(工作)

CAPISTRANO V3(不工作)

0 投票
1 回答
248 浏览

capistrano3 - 使用 capistrano 3 自定义输出

我需要更改使用 sshkit 格式化程序生成的输出,并且我无法安装其他 gem,但我可以调整我的 capistrano 3 配置。起初我尝试创建新的格式化程序(我只是复制粘贴漂亮的格式化程序,并进行了一些输出更改)。像这样https://gist.github.com/Dariusp/3e455fdb78b9f8636289set :format, :improvedformatter在 deploy.rb 文件中。并添加

到 Capfile。但我总是得到错误“抽象格式化程序不应该直接使用,也许你想要 SSHKit::Formatter::BlackHole ”,就像我正在尝试直接使用抽象格式化程序一样。如果我尝试扩展 PrettyFormater,我会得到 PrettyFormatter 输出,而无需进行更改。它似乎总是执行父类方法。有什么方法可以在我的 capistrano 配置中创建和设置自定义格式化程序?

0 投票
1 回答
1825 浏览

ruby - Capistrano 中的执行、测试和捕获命令有什么区别?

SSHkit-Github上它说:

所有后端都支持执行(*args)、测试(*args)和捕获(*args)

SSHkit-Rubydoc,我了解到这execute实际上是test?

Capistrano / SSHKit中的test,execute​​ ,和我什么时候应该使用两者有什么区别?capture

0 投票
1 回答
358 浏览

ssh - Capistrano:从本地变量提供密码以进行 ssh 登录,以便没有提示

我想知道是否可以使用询问的密码进行 ssh 登录,这interaction_handler似乎不适用于此任务。到目前为止,我有:

在该执行行上,它尝试登录服务器并且服务器提示输入密码。我怎样才能用存储的那个来提供它:pw

0 投票
0 回答
167 浏览

ruby - 将 Ruby 与 sshkit 一起使用

rbenv 和 Ruby 是为登录sshkit用户设置的,但路径似乎已损坏。

如何在 sshkit 中使用 Ruby 和 gems?

0 投票
1 回答
57 浏览

wordpress - 在本地主机上执行 Capistrano 更改命令

我也是 Capistrano 和 Ruby/Rake 的新手。

由于我在 Windows 本地工作,所以我时不时地过得很艰难。我正在运行capistrano-wpcli来推送和拉取我的 Wordpress 数据库。

该脚本在此过程中确实使用了 gunzip,它在 Unix 中运行良好,但在 Windows 中却不行。我发现我可以通过添加以下行来配置 SSHkit:

如果我只拉数据库,那效果很好,但是当我推送时,我仍然希望在远程主机上执行 gunzip。

我可以以某种方式连接到 cap wpcli:db:pull 以仅在该命令运行时设置配置,或者如果该命令正在本地主机上执行?

0 投票
0 回答
67 浏览

node.js - capistrano 3 不执行自定义远程任务

我在 capistrano 3 和 brunch 遇到了一个奇怪的问题。我想在远程服务器上执行早午餐,但什么也没发生。我的自定义远程任务如下所示:

当我运行“cap staging deploy”时,我可以看到命令被执行:

但是我的资产没有建成,什么也没做。如果我连接到我的服务器运行命令,一切正常。

我不明白这种行为,有人知道吗?

非常感谢你的帮助

我正在使用 Capistrano 版本:3.4.0(Rake 版本:10.5.0)

0 投票
2 回答
2635 浏览

authentication - Capistrano 无法部署到新的 Ubuntu 服务器,因为 SSHKit / Net::SSH 无法进行身份验证

我正在尝试为我正在处理的应用程序的新版本设置暂存/测试服务器。所以我已经设置了它,以便我的本地帐户可以在部署服务器中进行身份验证,而无需输入密码:

现在我尝试加入 Capistrano,但它直接拒绝了我:

调查至今:

  • 最初,我使用上次部署应用程序时所需的所有技巧来执行此操作,因此为了从等式中删除很多东西,我将所有文件移到一边,并让 Capistrano 生成新的部署配置。所以这一切现在都在最低限度的配置上运行,它仍然无法进行身份验证。
  • 我最初假设默认情况下会使用公钥身份验证,因为 Capistrano 文档说将使用用户的 SSH 配置文件。我现在知道情况并非如此,您必须明确地将'publickey'其作为方法放入。所以在此之前,它要求输入密码。我希望让它不要求输入密码是我必须弄清楚的最困难的事情,但显然不是。
  • 我不完全确定“密钥”设置是否必要,因为如果 Capistrano 没有使用我的配置中的设置,它也可能不会获取密钥文件。所以我尝试手动输入文件的路径,但无论如何它都不会改变。
  • 我曾经.pub在密钥文件名的末尾有一个,直到意识到它可能需要私钥。但是在删除它之后,我得到了完全相同的结果。
  • 感谢评论中的建议,我从服务器声明中删除了密码,因为我认为让 sudo 在没有密码的情况下工作是一个更干净的解决方案。但是,同样的结果。

现在我有点不知道如何诊断这个。

我不知道是否有任何 Capistrano 等价物ssh -v,以便获得有关它正在尝试做什么的更多信息。

显然我的 SSH 连接很好,但 Capistrano 没有使用正确的设置进行连接,所以也许我的语法错误或同样明显的东西。为此,以下是我目前拥有的文件:

Capfile

config/deploy.rb

config/deploy/staging.rb

将问题追到 sshkit 中:

我注意到 capistrano 使用 sshkit 来完成实际的 SSH 工作,所以我为此编写了一个测试程序。

这表现出同样的问题,尽管据称默认使用相同的密钥,但它仍要求输入密码。尽管将详细程度设置为DEBUG并没有真正添加任何有用的诊断来开始工作。

将问题追入 Net::SSH:

在为 sshkit 安装 gems 时,我注意到它正在使用另一个 SSH 库 net-ssh 来执行实际的 SSH 工作,所以我尝试制作一个刚刚使用它的新测试程序。

这次,调试输出很有用:

因此,它似乎只尝试了我的一个键,认为它无效,并在几行之后记录它不受支持。我的目录中还有另一个键,.ssh它似乎甚至没有被尝试过。

0 投票
1 回答
917 浏览

ruby-on-rails - Capistrano 部署失败 - SSH 工具包?

前言说我是 Capistrano 的新手。话虽如此,我有一个功能性应用程序,之前我曾多次使用 Capistrano 部署过该应用程序。我对应用程序进行了几次更新并尝试了cap production deploy. 我得到了这个错误输出:

在我看来,Capistrano 和 SSHkit 之间存在问题。我回顾了我的 Gemfile,bundle update根据我的 git repo,它显示 SSHkit 从 v 1.10.0 升级到 v 1.11.1。

sshkit gem 中的更新会导致这个问题还是我应该去别处看看?如果是这样,我将如何恢复到 1.10.0 并在我的 Gemfile 中指定该特定版本以避免将来出现问题?