I'm trying to write a program that will log into a list of ip's and run
a command. I running into an issue with expect. When I get logged in I
want to run the command, but some machines the password doesn't work.
When this happens it returns the password prompt again, I want to kill
the process when this happens and move to the next ip.
Her is the code I have but doesn't work correctly. Any help will be
appreciated.
PTY.spawn("ssh -o StrictHostKeyChecking=no user@#{address}") do
reader, writer, pid|
reader.expect("Password:")
writer.puts("my_password")
reader.expect(/$|Password/) do |a, b|
if a.match("$")
writer.puts("ifconfig")
reader.expect("$")
else
Process.kill(9, pid)
end
end
end