# File lib/net/ssh/known_hosts.rb, line 99
 99:     def keys_for(host)
100:       keys = []
101:       return keys unless File.readable?(source)
102: 
103:       entries = host.split(/,/)
104: 
105:       File.open(source) do |file|
106:         scanner = StringScanner.new("")
107:         file.each_line do |line|
108:           scanner.string = line
109: 
110:           scanner.skip(/\s*/)
111:           next if scanner.match?(/$|#/)
112: 
113:           hostlist = scanner.scan(/\S+/).split(/,/)
114:           next unless entries.all? { |entry| hostlist.include?(entry) }
115: 
116:           scanner.skip(/\s*/)
117:           type = scanner.scan(/\S+/)
118: 
119:           next unless SUPPORTED_TYPE.include?(type)
120: 
121:           scanner.skip(/\s*/)
122:           blob = scanner.rest.unpack("m*").first
123:           keys << Net::SSH::Buffer.new(blob).read_key
124:         end
125:       end
126: 
127:       keys
128:     end