Ruby: problemas con la expectativa y el pie

Estoy tratando de escribir una secuencia de comandos Ruby que se trasladará a un servidor, ejecutará un comando dado y extraerá el resultado. Esto es lo que tengo hasta ahora, principalmente adaptado deProgramando Ruby libro:

require 'pty'
require 'expect'

$expect_verbose = true
PTY.spawn("ssh [email protected]") do |reader, writer, pid|
  reader.expect(/[email protected]'s password:.*/)
  writer.puts("password")
  reader.expect(/.*/)
  writer.puts("ls -l")
  reader.expect(/.*/)
  answer = reader.gets
  puts "Answer = #{answer}"
end

Desafortunadamente, todo lo que estoy volviendo es esto:

Answer = .y's password:

¿Alguna idea de lo que he hecho mal y cómo aliviar esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta