Methods
Public Instance methods
verify(arguments)
    # File lib/net/ssh/host-key-verifier.rb, line 7
 7:       def verify(arguments)
 8:         # first, find any matches on hostname+port
 9:         matches = keys.select do |item|
10:             host = item[:host] || arguments[:peer][:host]
11:             ip   = item[:ip]   || arguments[:peer][:ip]
12:             port = item[:port] || arguments[:peer][:port]
13: 
14:             host == arguments[:peer][:host] &&
15:             ip   == arguments[:peer][:ip]   &&
16:             port == arguments[:peer][:port]
17:           end
18: 
19:         # we've never seen this host before, so just automatically add the key.
20:         # not the most secure option (since the first hit might be the one that
21:         # is hacked), but since almost nobody actually compares the key
22:         # fingerprint, this is a reasonable compromise between usability and
23:         # security.
24:         if matches.empty?
25:           add_key(arguments)
26:           return true
27:         end
28: 
29:         # If we found any matches, check to see that the key type and
30:         # blob also match.
31:         found = matches.any? do |item|
32:             item[:type] == arguments[:key].ssh_type &&
33:             item[:key]  == arguments[:key_blob]
34:           end
35: 
36:         # If a match was found, return true. Otherwise, raise an exception
37:         # indicating that the key was not recognized.
38:         found || process_cache_miss(arguments)
39:       end