【问题标题】:Does a capistrano deploy.rb file contain server credentials?capistrano deploy.rb 文件是否包含服务器凭据?
【发布时间】:2011-11-27 09:03:42
【问题描述】:

这是我第一次使用 Capistrano,我在 deploy:setup 阶段开始时遇到服务器身份验证错误。我是在 mac 上使用 rvm 的 PHP 用户。

我注意到我的 deploy.rb 文件不包含我的服务器的密码。它只包含我的私人 git 存储库的密码。是否有可用于设置服务器密码的属性,以便我的连接可以进行身份​​验证?

deploy.rb 文件是否列出服务器凭据?

【问题讨论】:

    标签: php capistrano


    【解决方案1】:

    我想将您推荐给related discussion。以防万一:最好为您的服务器设置公钥身份验证,这样可以避免您将凭据以纯文本形式存储,并且开始时更安全。

    如果你使用 github 来托管你的 git,你也可以在那里使用你的 publickey。部署时请务必使用ssh_options[:forward_agent] = true 将您的公钥转发到服务器。

    如果你真的想设置你的用户和密码,我相信你可以这样做:

    set :user, "sshuser"
    set :password, "sshpassword"
    set :scm_passphrase, "gitpassword"
    

    更多信息请访问github help/capistrano

    【讨论】:

    • 我做了这一切@HectorMalot。但这是我得到的错误:连接失败:[ip_address_omitted] (Net::SSH::AuthenticationFailed: root), app_name_ommitted (Errno::ETIMEDOUT: Operation timed out - connect(2)
    【解决方案2】:

    上一个答案涵盖了有关部署的良好信息,我同意设置公钥更好。

    但是如果您有密码问题,请尝试添加此行:

    default_run_options[:pty] = true
    

    到您的 deploy.rb 文件,因此您允许 Capistrano 提示输入密码。

    【讨论】:

      【解决方案3】:

      @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 密钥并忘记密码。 ;)

      【讨论】:

      • 我已经创建了 sshkey 并将它们放在服务器上。但我仍然得到这个错误。 sshd_config 是我服务器上的一个文件,对吗?
      • 没错。检查 PubkeyAuthentication 是否设置为 yes(大多数系统上的默认设置)。除此之外,您需要将 only 公钥复制到服务器并将其保存在您要登录的用户的 .ssh/ 文件夹中。您需要请注意文件命名约定是 authorized_keys .
      • 如果忘记添加 authorized_keys 必须具有限制性文件权限,例如644 现在剩下的就是你的客户端在 .ssh/config 中的配置(或者通过 -i 标志传递你的私钥到ssh): 主机 IdentityFile "~/.ssh/"
      • 抱歉,最后一步不清楚 - 你是说我电脑上的 id_rsa 是一个私钥,它需要在 ssh 文件夹内的配置文件中的服务器上运行?但是我的服务器上没有配置文件。我应该制作一个然后复制我的私钥 a.k.a id_rsa?
      • @AmitErandole 否。配置文件应该在客户端上创建,否则您每次都必须将身份文件的路径作为参数传递给 ssh。您需要复制的是id_rsa.pub 也就是服务器的公钥,并将其保存为authorized_keys 在您连接的用户的.ssh 文件夹中。 id_rsa 是默认名称,因此如果您在创建过程中更改了它,请使用您的 obv。只需 google 即可获得操作方法,例如 debuntu.org/ssh-key-based-authentication
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      • 1970-01-01
      • 2010-09-20
      • 2019-01-01
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      相关资源
      最近更新 更多