Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rubygems'
- require 'net/ssh'
- def passWord(hostname, username, password, newPassword)
- begin
- Net::SSH.start( hostname, username, :password => password ) do |session|
- command = "passwd"
- session.exec( command ) do |channel,stream,data|
- case stream
- when :stderr
- puts "E-> #{data}"
- case data
- when /\(current\) UNIX password:/
- channel.send_data password + "\n"
- puts "********"
- when /Enter new UNIX password:/
- channel.send_data newPassword + "\n"
- puts "********"
- when /Retype new UNIX password:/
- channel.send_data newPassword + "\n"
- puts "********"
- when /.*(successfully).*/
- return "OK"
- else
- puts "DEATH!"
- exit
- end
- when :stdout
- puts "O-> #{data}"
- end
- end
- end
- rescue
- return "NG (#{$!.message})"
- end
- end
- hostnames = ['']
- username = ""
- password = ""
- newPassword = ""
- hostnames.each do |hostname|
- puts "#{hostname}\t\t#{passWord(hostname,username, password, newPassword)}"
- end
Add Comment
Please, Sign In to add comment