code: public void allowHost(String host, SshPublicKey pk, boolean always)
  			throws SshException {
  
  		// Put the host into the allowed hosts list, overiding any previous
  		// entry
  		if (hashHosts) {
  			SshHmac sha1 = (SshHmac) ComponentManager.getInstance()
  					.supportedHMacsCS().getInstance("hmac-sha1");
  			byte[] hashSalt = new byte[sha1.getMacLength()];
  			ComponentManager.getInstance().getRND().nextBytes(hashSalt);
  
  			sha1.init(hashSalt);
  			sha1.update(host.getBytes());
  
  			byte[] theHash = sha1.doFinal();
  
  			String names = HASH_MAGIC + Base64.encodeBytes(hashSalt, false)
  					+ HASH_DELIM + Base64.encodeBytes(theHash, false);
  
  			putAllowedKey(names, pk, always);
  		} else {
  			putAllowedKey(host, pk, always);
  		}
  
  		// allowedHosts.put(host, pk);
  		// If we always want to allow then save the host file with the
  		// new details
  		if (always) {
  			try {
  				saveHostFile();
  			} catch (IOException ex) {
  				throw new SshException("knownhosts file could not be saved! "
  						+ ex.getMessage(), SshException.INTERNAL_ERROR);
  			}
  		}
  	}
docs: <p>
  Allows a host key, optionally recording the key to the known_hosts file.
  </p>
  
  @param host
  the name of the host
  @param pk
  the public key to allow
  @param always
  true if the key should be written to the known_hosts file
  
  @throws InvalidHostFileException
  if the host file cannot be written
  
  @since 0.2.0