verify (Net::SSH::Verifiers::Strict)

        # File lib/net/ssh/verifiers/strict.rb, line 13
    13:     def verify(arguments)
    14:       options = arguments[:session].options
    15:       host = options[:host_key_alias] || arguments[:session].host_as_string
    16:       matches = Net::SSH::KnownHosts.search_for(host, arguments[:session].options)
    17:
    18:       # we've never seen this host before, so just automatically add the key.
    19:       # not the most secure option (since the first hit might be the one that
    20:       # is hacked), but since almost nobody actually compares the key
    21:       # fingerprint, this is a reasonable compromise between usability and
    22:       # security.
    23:       if matches.empty?
    24:         ip = arguments[:session].peer[:ip]
    25:         Net::SSH::KnownHosts.add(host, arguments[:key], arguments[:session].options)
    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 |key|
    32:         key.ssh_type == arguments[:key].ssh_type &&
    33:         key.to_blob  == arguments[:key].to_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(host, arguments)
    39:     end