Ask A Question


You’re not receiving notifications from this thread.

Error when running in Test Env

geekdie asked in Rails

Hi peeps,

I setup linux virtual machine in Azure, I was following this guide

I want my VM as my test environment, however when I run 'cap test deploy' this what I get

test01@test01:~/IBEX-ShiftShark$ cap test deploy --trace
** Invoke test (first_time)
** Execute test
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke bundler:map_bins (first_time)
** Execute bundler:map_bins
** Invoke deploy:set_rails_env (first_time)
** Execute deploy:set_rails_env
** Invoke deploy:set_linked_dirs (first_time)
** Execute deploy:set_linked_dirs
** Invoke deploy:set_rails_env
** Invoke rvm:hook (first_time)
** Execute rvm:hook
** Invoke rvm:check (first_time)
** Execute rvm:check
DEBUG [f011606c] Running /usr/share/rvm/bin/rvm version as test01@
DEBUG [f011606c] Command: /usr/share/rvm/bin/rvm version
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as test01@ Au thentication failed for user test01@
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/runner s/parallel.rb:16:in rescue in block (2 levels) in execute'
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/runner s/parallel.rb:12:in
block (2 levels) in execute'

Caused by:
Net::SSH::AuthenticationFailed: Authentication failed for user test01@
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/net-ssh-3.0.1/lib/net/ssh.rb:2 39:in start'
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/connection_pool.rb:50:in
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/connection_pool.rb:50:in create_new_entry'
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/connection_pool.rb:22:in
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/netssh.rb:187:in with_ssh'
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/netssh.rb:137:in
block in _execute'
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/netssh.rb:133:in tap'
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/netssh.rb:133:in
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/netssh.rb:77:in capture'
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/capistrano-rvm-0.1.2/lib/capis trano/tasks/rvm.rake:9:in
block (3 levels) in '
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/netssh.rb:54:in instance_exec'
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/backen ds/netssh.rb:54:in
/home/test01/.rvm/gems/ruby-2.2.1@shiftshark/gems/sshkit-1.7.1/lib/sshkit/runner s/parallel.rb:13:in `block (2 levels) in execute'
Tasks: TOP => rvm:check

#My Deploy File

lock '3.4.0'

set :application, 'IBEX-ShiftShark'
set :repo_url, ''
set :rollbar_token, 'a9f7527095e9410f97ae87d1eeac80c4'
set :rpush_pid, -> { File.join(shared_path, 'tmp', 'pids', '') }

set :delayed_job_server_role, :app
set :delayed_job_args, '-n 2'

set :deploy_to, '/home/test01/IBEX-ShiftShark'

Default value for :linked_files is []

set :linked_files, %w[config/database.yml]
set :linked_dirs, %w[log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system]

Default branch is :master

ask :branch, proc { git rev-parse --abbrev-ref HEAD.chomp }.call

set :rvm_ruby_version, '2.2.1' # rvm gemset to use on the server
set :keep_releases, 5

namespace :deploy do
desc 'Restart application'
task :restart do
on roles(:app), in: :sequence, wait: 5 do
execute :mkdir, '-p', "#{release_path}/tmp"
execute :touch, release_path.join('tmp/restart.txt')

after :publishing, :restart
after :finishing, 'deploy:cleanup'

after 'deploy:published', 'restart' do
invoke 'delayed_job:restart'


server '', user: 'test01', roles: %w[web app db]
$LOAD_PATH.unshift(File.expand_path('./lib', ENV['rvm_path']))
set :rvm_custom_path, '/usr/share/rvm'
set :stage, :test
set :deploy_to, "/home/test01/#{fetch(:application)}/test/"
set :scm, :gitcopy

after 'deploy:finished', :restart_rpush do
on roles(:web) do
within release_path do
if test "[ -f #{fetch(:rpush_pid)} ]"
execute :bundle, :exec, 'rpush stop -e test'

  execute :bundle, :exec, 'rpush start -e test'


namespace :delayed do
desc 'Restart Delayed Job'
task :restart do
on roles(:app), in: :sequence, wait: 5 do
execute! :sudo, 'service delayed_job restart'


So it says it can't authenticate:

SSHKit::Runner::ExecuteError: Exception while executing as test01@ Au thentication failed for user test01@

You'll want to make sure that your username, IP, and password / ssh key are correct. Sometimes you have to run "ssh-add -K" on a mac to add your ssh keys to the agent so that it uses the right key without having to manually specify it.

Whatever the issue is, it's just a misconfigured authentication somewhere.


@Chris Oliver

I think I missed the SSH setup something from your guide.

Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 79,047+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more.

    © 2023 GoRails, LLC. All rights reserved.