Сеть:: SSH sudo команда зависает после ввода пароля

Я пытался записать небольшую библиотеку с помощью Тора, чтобы помочь помочь мне в быстрых создающих новых проектах и сайтах. Я записал этот маленький метод:

def ssh(cmd)
  Net::SSH.start( server_ip, user, :port => port) do |session|
    session.exec cmd
  end
end

просто помогать мне в выполнении быстрых команд на удаленных серверах при необходимости.

Проблема состоит в том, когда я должен выполнить команду под sudo на удаленном конце, сценарий просто, кажется, зависает на мне. Например, при выполнении этого...

ssh("sudo cp #{file_from_path} #{file_to_path}" )

Сценарий предложит мне пароль

[sudo] password for user:

Но затем все это hhangs после ввода его.

Был бы любой, оказываться, знать, почему это зависает точно, и что я могу сделать для выполнения команды sudo на удаленном сервере под Сетью:: SSH (или некоторая альтернатива)?

*примечание: Прежде чем предложено, я первоначально начал писать эту библиотеку как рецепт под Capistrano, пока я не натолкнулся на Тора и думал, что это будет хороший шанс испытать его. Я не против необходимости переключиться, все это отступает к Capistrano в случае необходимости, но я был бы просто действительно удивлен, нет ли простого способа выполнить команды sudo на удаленном сервере.

5
задан Wayne Conrad 27 January 2017 в 13:10
поделиться