с помощью командной строки он работает:
$ ssh user@remote.vm.net
password:
> echo ping
ping
с капистрано:
# set :use_sudo, true
set :pty, true
set :user, 'user'
set :password, 'password'
set :stage, :production
role :web, 'remote.vm.net'
task :ping do
on roles(:web) do
execute 'echo ping'
end
end
это не так:
$ cap production ping
INFO [7db945a1] Running /usr/bin/env echo ping on remote.vm.net
DEBUG [7db945a1] Command: echo ping
cap aborted!
Net::SSH::AuthenticationFailed
Что мне не хватает?
Я могу ошибаться, но хочу сказать, что команда execute не запускает оболочку. echo - это команда, предоставляемая оболочкой. Попробуйте использовать команду «запустить» вместо «выполнить».
Также обратите внимание, что и run, и execute устарели в новейших версиях.