2015-02-06 12 views
16

$ bundle exec cap production deploySSHKit :: Runner :: ExecuteError

(Backtrace restricted to imported tasks) cap aborted!
SSHKit::Runner::ExecuteError:
Exception while executing as [email protected]: git exit status: 128 git stdout: Nothing written git stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly

SSHKit::Command::Failed:
git exit status: 128
git stdout:Nothing written
git stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Tasks: TOP => git:check (See full trace by running task with --trace) The deploy has failed with an error:
Exception while executing as [email protected]:
git exit status: 128 git stdout: Nothing written
git stderr: Permission denied (publickey).

fatal: The remote end hung up unexpectedly

*

deploy.rb

set :application, 'Psara'
set :repo_url, '[email protected]:CBLaughter/psara.git'
set :deploy_to, '/home/Psara/Psara'
set :default_run_options, :pty => true

namespace :deploy do

after :restart, :clear_cache do on roles(:web), in: :groups, limit: 3, wait: 10 do # Here we can do anything such as: # within release_path do # execute :rake, 'cache:clear' # end end end

end

set :ssh_options, { forward_agent: true, paranoid: true, keys: "~/.ssh/id_rsa" }

*

production.rb

set :stage, :staging
set :rails_env, :production

role :app, %w{sakura}
role :web, %w{sakura}
role :db, %w{sakura}

server 'sakura', user: 'Psara', roles: %w{web app}, my_property: >:my_value

set :ssh_options, {
keys: %w(~/.ssh/id_rsa),
forward_agent: false, }



Tôi sẽ rất vui, nếu bạn có thể dạy tôi những gì tôi có thể làm để giải quyết vấn đề này.

Tôi đã thêm khóa công khai trên bitbucket, nhưng nó không hoạt động.

*

đại lý SSH báo cáo chuyển tiếp


  1. [success] repo_url setting ok

  2. [success] ssh private key file exists

  3. [success] ssh-agent process seems to be running locally

  4. [success] ssh-agent process recognized by ssh-add command

  5. [success] ssh private keys added to ssh-agent

  6. [success] application repository accessible from local machine

  7. [success] all hosts using passwordless login

  8. [success] forward_agent ok for all hosts

  9. [success] ssh agent successfully forwarded to remote hosts

  10. [success] application repository accessible from remote hosts


It seems SSH agent forwarding is set up correctly! You can continue with the deployment process.

It succeeded in all tests, but still makes same error.

+0

Vui lòng chỉnh sửa câu hỏi của bạn để sử dụng các khối mã để chúng tôi có thể đọc nó. Cũng xác định rõ ràng lỗi của bạn là gì. –

+0

@Shion Yamaguchi: Cách bạn giải quyết vấn đề của mình như tôi cũng bị mắc kẹt !!! và trên cùng một trang như bạn? – VKatz

Trả lời

5

Khi backtrace nói, điều này có thể liên quan đến ssh khóa công khai. Tôi sẽ khuyên bạn khắc phục sự cố với capistrano-ssh-doctor. Bạn sẽ nhận được một báo cáo chính xác nói những gì đã xảy ra trong quá trình thiết lập.

Tuyên bố từ chối trách nhiệm, tôi là tác giả của plugin capistrano-ssh-doctor.

+2

không hoạt động đối với tôi: ( – VKatz

39

Đảm bảo rằng bạn có ssh-agent đang chạy trên máy tính của mình, vì bạn đang sử dụng chuyển tiếp ssh, khóa cục bộ của bạn sẽ có thể truy cập và sao chép repo của bạn từ bitbucket. Bạn có thể chạy đại lý với:

eval `ssh-agent` 
ssh-add ~/.ssh/id_rsa 

Thông tin thêm về ssh-forwarding bạn có thể find here. Điều khác bạn nên kiểm tra bằng tay là bạn có thể ssh đến máy chủ của bạn (khóa công khai của bạn nên được thêm vào ~/.ssh/authorized_keys trên máy chủ), và tất nhiên bạn có thể sao chép cục bộ repo của bạn (có thể bạn có thể làm).

Cập nhật:

Bây giờ tôi đã nhận ra rằng bạn rẽ chuyển tiếp cho sản xuất, trong trường hợp đó bạn nên chắc chắn rằng cặp khóa đó trên máy chủ của bạn (bạn phải có nó, bởi vì chuyển tiếp bị tắt), là có thể sao chép repo từ bitbucket, bạn cũng có thể thử nhân bản trên máy chủ bằng tay.

+0

Hey Rastasheep Ngay cả Im đối mặt với cùng một vấn đề .. Tôi đã trải qua nhưng không thể phân loại. – VKatz

+0

@rastasheep Tôi gặp vấn đề tương tự ở đây: http://stackoverflow.com/questions/ 36900222/ssh-agent-forwarding-with-capistrano-3-không-làm việc-khi-triển khai-rails-app.Có Capistrano đăng nhập vào máy chủ sản xuất và sau đó cố gắng để kéo mã từ kho lưu trữ đến máy chủ sản xuất? Nếu đó là những gì nó có, có cách nào để làm cho mã Capistrano đẩy từ kho lưu trữ đến máy chủ sản xuất? – massaskillz

+0

@massaskillz yeah, Capistrano chỉ đăng nhập vào máy của bạn thông qua SSH và có thực hiện lệnh được tạo ra bởi DSL của nó.Bạn có thể tạo các nhiệm vụ Capistrano tùy chỉnh để làm bất cứ điều gì bạn muốn.Thật không may tôi nghĩ rằng đó là không thể "đẩy" từ kho lưu trữ, nó có thể sao chép (thông qua lệnh scp) mã từ máy chủ đến máy chủ của bạn. – rastasheep

Các vấn đề liên quan