Назад | Перейти на главную страницу

не могу эхо на удаленном сервере с использованием capistrano

с помощью командной строки он работает:

$ 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 устарели в новейших версиях.