【发布时间】:2011-11-27 09:03:42
【问题描述】:
这是我第一次使用 Capistrano,我在 deploy:setup 阶段开始时遇到服务器身份验证错误。我是在 mac 上使用 rvm 的 PHP 用户。
我注意到我的 deploy.rb 文件不包含我的服务器的密码。它只包含我的私人 git 存储库的密码。是否有可用于设置服务器密码的属性,以便我的连接可以进行身份验证?
deploy.rb 文件是否列出服务器凭据?
【问题讨论】:
标签: php capistrano
这是我第一次使用 Capistrano,我在 deploy:setup 阶段开始时遇到服务器身份验证错误。我是在 mac 上使用 rvm 的 PHP 用户。
我注意到我的 deploy.rb 文件不包含我的服务器的密码。它只包含我的私人 git 存储库的密码。是否有可用于设置服务器密码的属性,以便我的连接可以进行身份验证?
deploy.rb 文件是否列出服务器凭据?
【问题讨论】:
标签: php capistrano
我想将您推荐给related discussion。以防万一:最好为您的服务器设置公钥身份验证,这样可以避免您将凭据以纯文本形式存储,并且开始时更安全。
如果你使用 github 来托管你的 git,你也可以在那里使用你的 publickey。部署时请务必使用ssh_options[:forward_agent] = true 将您的公钥转发到服务器。
如果你真的想设置你的用户和密码,我相信你可以这样做:
set :user, "sshuser"
set :password, "sshpassword"
set :scm_passphrase, "gitpassword"
更多信息请访问github help/capistrano
【讨论】:
上一个答案涵盖了有关部署的良好信息,我同意设置公钥更好。
但是如果您有密码问题,请尝试添加此行:
default_run_options[:pty] = true
到您的 deploy.rb 文件,因此您允许 Capistrano 提示输入密码。
【讨论】:
@Amit Erandole (回复 [ip_address_omitted] (Net::SSH::AuthenticationFailed: root), app_name_ommitted (Errno::ETIMEDOUT: Operation timed out - connect(2)): 看起来服务器上不允许通过 ssh 进行 root 访问(通常不推荐)。使用有效用户重试或在 sshd_config 中打开 root 访问权限(PermitRootLogin 是)。 但正如 HectorMalot 已经提到的,创建一个 ssh 密钥并忘记密码。 ;)
【讨论】:
id_rsa.pub 也就是服务器的公钥,并将其保存为authorized_keys 在您连接的用户的.ssh 文件夹中。 id_rsa 是默认名称,因此如果您在创建过程中更改了它,请使用您的 obv。只需 google 即可获得操作方法,例如 debuntu.org/ssh-key-based-authentication