繁体   English   中英

Windows权限下的Capistrano部署问题拒绝了私钥

[英]Issue with Capistrano deployment from Windows permission denied Privatekey

我真的对这种部署感到困惑,我在使用capistrano部署时使用了来自铁路广播的Ryan Bates代码。

这是我的部署

require "bundler/capistrano"

load "config/recipes/base"
load "config/recipes/nginx"
load "config/recipes/unicorn"
load "config/recipes/postgresql"
load "config/recipes/nodejs"
load "config/recipes/rbenv"
load "config/recipes/check"

server "37.188.126.99", :web, :app, :db, primary: true

set :user, "deployer"
set :application, "TWL"
set :deploy_to, "/home/#{user}/apps/#{application}"
set :deploy_via, :remote_cache
set :use_sudo, false

set :scm, "git"
#set :repository, "git@github.com:acooperman/#{application}.git"
set :repository, "git@github.com:acooperman/TWL.git"
#set :repository, "https://github.com/acooperman/TWL.git"
set :branch, "master"

default_run_options[:pty] = true
ssh_options[:forward_agent] = true

after "deploy", "deploy:cleanup" # keep only the last 5 releases

结果如下:

    $ cap deploy:update
      * executing `deploy:update'
     ** transaction: start
      * executing `deploy:update_code'
        updating the cached checkout on all servers
        executing locally: "git ls-remote git@github.com:acooperman/TWL.git master"
    Permission denied (publickey).
    fatal: The remote end hung up unexpectedly
    *** [deploy:update_code] rolling back
      * executing "rm -rf /home/deployer/apps/TWL/releases/20120611173529; true"
        servers: ["37.188.126.99"]
    Password:
        [37.188.126.99] executing command
        command finished in 340ms
    Command git ls-remote git@github.com:acooperman/TWL.git master returned status code pid 3500 exit 128

如果我在网上交换评论

set :repository, "git@github.com:acooperman/TWL.git"
#set :repository, "https://github.com/acooperman/TWL.git"

我得到以下内容:

     * executing `deploy:update'
     ** transaction: start
      * executing `deploy:update_code'
        updating the cached checkout on all servers
        executing locally: "git ls-remote https://github.com/acooperman/TWL.git master"
    Username for 'https://github.com':
    Password for 'https://acooperman@github.com':
        command finished in 7893ms
      * executing "if [ -d /home/deployer/apps/TWL/shared/cached-copy ]; then cd /home/deployer/apps/TWL/shared/cached-copy && git
     fetch -q origin && git fetch --tags -q origin && git reset -q --hard 418c9e9b1d7b37427a76e6bf98a17722f3a9e863 && git clean -q
     -d -x -f; else git clone -q https://github.com/acooperman/TWL.git /home/deployer/apps/TWL/shared/cached-copy && cd /home/depl
    oyer/apps/TWL/shared/cached-copy && git checkout -q -b deploy 418c9e9b1d7b37427a76e6bf98a17722f3a9e863; fi"
        servers: ["37.188.126.99"]
    Password:
        [37.188.126.99] executing command
     ** [37.188.126.99 :: out] error: The requested URL returned error: 401 while accessing https://github.com/acooperman/TWL.git/
    info/refs
     **
     ** fatal: HTTP request failed
        command finished in 1590ms
    *** [deploy:update_code] rolling back
      * executing "rm -rf /home/deployer/apps/TWL/releases/20120611173441; true"
        servers: ["37.188.126.99"]
        [37.188.126.99] executing command
          command finished in 331ms
    failed: "sh -c 'if [ -d /home/deployer/apps/TWL/shared/cached-copy ]; then cd /home/deployer/apps/TWL/shared/cached-copy && gi
    t fetch -q origin && git fetch --tags -q origin && git reset -q --hard 418c9e9b1d7b37427a76e6bf98a17722f3a9e863 && git clean -
    q -d -x -f; else git clone -q https://github.com/acooperman/TWL.git /home/deployer/apps/TWL/shared/cached-copy && cd /home/dep
    loyer/apps/TWL/shared/cached-copy && git checkout -q -b deploy 418c9e9b1d7b37427a76e6bf98a17722f3a9e863; fi'" on 37.188.126.99

Git在我的新vps上运行良好,不需要密码。

我真的被困在这里,任何帮助都将不胜感激,对于Capistrano来说我是全新的,对于rails来说我是新的,所以这确实让我感到困惑。

谢谢你的帮助 :)

亚当

看起来您的ssh密钥不在默认位置,请尝试手动为ssh密钥设置一个密码

ssh_options[:keys] = ["PATH TO SSH/id_rsa]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM