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