Files
metasploit-gs/lib/net/ssh/authentication/methods/password.rb
T
Tod Beardsley 810133acc2 Fixes #841. Initial commit for net-ssh by Jamis Buck. http://github.com/jamis/net-ssh
Note that net-ssh is no longer actively maintained: http://weblog.jamisbuck.org/2009/2/25/net-ssh-capistrano-and-saying-goodbye



git-svn-id: file:///home/svn/framework3/trunk@8523 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-16 19:18:19 +00:00

40 lines
1.2 KiB
Ruby

require 'net/ssh/errors'
require 'net/ssh/authentication/methods/abstract'
module Net
module SSH
module Authentication
module Methods
# Implements the "password" SSH authentication method.
class Password < Abstract
# Attempt to authenticate the given user for the given service. If
# the password parameter is nil, this will never do anything except
# return false.
def authenticate(next_service, username, password=nil)
return false unless password
send_message(userauth_request(username, next_service, "password", false, password))
message = session.next_message
case message.type
when USERAUTH_SUCCESS
debug { "password succeeded" }
return true
when USERAUTH_FAILURE
debug { "password failed" }
return false
when USERAUTH_PASSWD_CHANGEREQ
debug { "password change request received, failing" }
return false
else
raise Net::SSH::Exception, "unexpected reply to USERAUTH_REQUEST: #{message.type} (#{message.inspect})"
end
end
end
end
end
end
end