code: def _parse_openssh_output(lines, fingerprint_hash_type=None):
      '''
      Helper function which parses ssh-keygen -F and ssh-keyscan function output
      and yield dict with keys information, one by one.
      '''
      for line in lines:
          # We don't need any whitespace-only containing lines or arbitrary doubled newlines
          line = line.strip()
          if line == '':
              continue
          line += '\n'
  
          if line.startswith('#'):
              continue
          try:
              hostname, enc, key = line.split()
          except ValueError:  # incorrect format
              continue
          fingerprint = _fingerprint(key,
                                     fingerprint_hash_type=fingerprint_hash_type)
          if not fingerprint:
              continue
          yield {'hostname': hostname, 'key': key, 'enc': enc,
                 'fingerprint': fingerprintf _parse_openssh_output(lines, fingerprint_hash_type=None):
      '''
      Helper function which parses ssh-keygen -F and ssh-keyscan function output
      and yield dict with keys information, one by one.
      '''
      for line in lines:
          # We don't need any whitespace-only containing lines or arbitrary doubled newlines
          line = line.strip()
          if line == '':
              continue
          line += '\n'
  
          if line.startswith('#'):
              continue
          try:
              hostname, enc, key = line.split()
          except ValueError:  # incorrect format
              continue
          fingerprint = _fingerprint(key,
                                     fingerprint_hash_type=fingerprint_hash_type)
          if not fingerprint:
              continue
          yield {'hostname': hostname, 'key': key, 'enc': enc,
                 'fingerprint': fingerprint}
docs: Helper function which parses ssh-keygen -F and ssh-keyscan function output
      and yield dict with keys information, one by one.