【问题标题】:Trouble deploying a Zend Framework site with Capistrano: SSH Authentication error使用 Capistrano 部署 Zend Framework 站点时遇到问题:SSH 身份验证错误
【发布时间】:2013-05-23 16:37:27
【问题描述】:

我一直在关注this tutorial,试图通过 Capistrano 部署我的 Zend Framework 站点。我已经完成了几乎所有工作:当我通过 SSH 登录时,我的服务器会从我的私钥中识别签名,因此我不再需要输入密码。

不幸的是,当我运行命令 cap deploy:setup 时,我得到以下错误输出:

    servers: ["server@domain"]
connection failed for: server@domain (Net::SSH::Authentication::AgentError: unknown response from agent: 1, "\x00\x00\x00,\x01\x00\x00\x00'SSH-2.0-Ruby/Net::SSH_2.6.7 x64-mingw32")

我完全不熟悉 Ruby 以及 SSH 和公钥身份验证背后的要点,所以我真的不知道发生了什么。

如果有帮助,我必须使用 GIT Bash 工具生成我的公钥/私钥对,并且我还在另一个窗口中使用 Ruby 命令提示符。我的直觉告诉我 Ruby 无法访问私钥和/或没有缓存密钥的密码。

【问题讨论】:

  • capistrano 配置中设置的用户变量是什么? ssh <capistrano-user>@server 有效吗?
  • pastebin.com/LuGkkCKz 有我正在使用的 deploy.rb 文件。嗯,有点。那里应该有占位符。我的系统设置也可能有误,因为我只能从 Git Bash 的命令行运行 ssh——不能从正常的命令提示符,也不能从运行 Ruby 的命令提示符。无论如何,当我运行 ssh @server 时,它工作得很好——甚至不需要提供私钥密码。我做错了什么?
  • 尝试添加default_run_options[:pty] = true并将set :deploy_via, :copy更改为set :deploy_via, :remote_cache
  • 试过了。它没有用。还有其他想法吗?
  • 只是想看看它是否有效,我也尝试使用set :scm_passphrase, "laServerPassword",但即使这样也得到了相同的响应。所以我开始认为可能是服务器端有问题...

标签: git authentication capistrano ssh-keys


【解决方案1】:

该错误似乎是潜在的 net-ssh gem 问题,如下所述:

https://github.com/net-ssh/net-ssh/issues/92

问题似乎与 64 位窗口(应用程序)有关

由于尚未解决,您的选择是降级到 ruby​​/ssh agent/ 等的 32 位版本。

【讨论】:

  • 我实际上只是在 Windows 中使用了 Git GUI,它运行良好。不过,我感谢您的帮助。谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-26
  • 1970-01-01
  • 2015-12-03
  • 1970-01-01
相关资源
最近更新 更多