Capistrano的使用Ubuntu的EC2实例部署的Ruby on Rails实例、Ubuntu、Capistrano、on

由网友(疯子)分享简介:我想实现的Ruby on使用Capistrano的,我运行的临时服务器和nginx的稀土元素版本在生产服务器上的Apache RVM rails应用程序。我使用Git也。我一直在尝试整合Capistrano的,但我收到此错误I am trying to implement ruby on rails app usi...

我想实现的Ruby on使用Capistrano的,我运行的临时服务器和nginx的稀土元素版本在生产服务器上的Apache RVM rails应用程序。我使用Git也。 我一直在尝试整合Capistrano的,但我收到此错误

I am trying to implement ruby on rails app using Capistrano, I am running apache rvm in the staging server and nginx REE version in production server. I am using git also. I have been try to integrate Capistrano but I am getting the this error

(Net::SSH::AuthenticationFailed: ubuntu)

下面是我的deploy.rb文件

Here is my deploy.rb file

set :application, "capify"

# The directory on the EC2 node that will be deployed to
set :deploy_to, "/home/ubuntu/apps/#{application}"

set :keep_releases, 3

# deploy with git
set :scm, :git
set :repository,  "git@github.com:username/capify.git"
set :git_shallow_clone, 1
set :branch, "master"
set :use_sudo, false

set :user, "ubuntu"
ssh_options[:keys] = ["/path/tp/key.pem"]
ssh_options[:forward_agent] = true
default_run_options[:pty] = true

# The address of the remote host on EC2 (the Public DNS address)
set :location, "ip"

# setup some Capistrano roles
role :app, location
role :web, location
role :db,  location, :primary => true

after 'deploy:update_code', 'deploy:symlink_db'


namespace :deploy do

desc "Restart Application"
task :restart, :roles => :app do
run "touch #{deploy_to}/#{shared_dir}/tmp/restart.txt"
end

desc "Symlinks the database.yml"
task :symlink_db, :roles => :app do
run "ln -nfs #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml"
end

end

摸不清确切的问题和方法,整合Capistrano的。

Unable to figure the exact problem and the methods to integrate capistrano.

推荐答案

这似乎很简单:Capistrano的不提示部署时的密码,而是希望你的SSH密钥到目标服务器上验证您的身份

It seems simple: Capistrano does not prompt for passwords when deploying but rather expects your SSH key to authenticate you on the target server.

好像你正在尝试部署为(Ubuntu的),因为这不能被认证的用户。

It seems like the user you are trying to deploy as (ubuntu) can't be authenticated because of this.

试着增加你的的〜/ .ssh / id_rsa.pub 的内容传送到服务器: /home/ubuntu/.ssh/authorized_keys 文件。

Try adding the contents of your ~/.ssh/id_rsa.pub to the servers: /home/ubuntu/.ssh/authorized_keys file.

如果你能ssh到你的机器没有得到提示输入密码,这是工作

If you can ssh into your machine without getting prompted for a password it is working

更新:在你的情况,你所使用的 ssh_options [:密钥] 来定义另一个关键用于SSH授权。您既可以删除该指令默认为您的标准ssh密钥(一个在〜/ .ssh / id_rsa.pub)或增加您指定的authorized_keys文件的其他主要服务器上。

Update: In your case you are using the ssh_options[:keys] to define another key to be used for SSH authorization. You could either remove that directive to default to your standard ssh key (the one in ~/.ssh/id_rsa.pub) or add that other key you are specifying to the authorized_keys file on your server.

我建议你尝试没有 ssh_options [:密钥] 选项:)

I suggest you try it without the ssh_options[:keys] option :)

阅读全文

相关推荐

最新文章