public static CipherParameters getSSHPublicKey(File sshPublicKeyFile) throws IOException {

		String keyLine = null;
		try (BufferedReader r = new BufferedReader(new FileReader(sshPublicKeyFile))) {
			String line;
			while ((line = r.readLine()) != null) {
				if (!line.startsWith("ssh-")) {
					continue;
				}
				keyLine = line;
				break;
			}
		}

		if (keyLine != null) {
			String[] part = keyLine.split("\\s+");
			if (part.length >= 2 && part[0].startsWith("ssh-")) {
				byte[] pubkeyBytes = Base64.decode(part[1]);
				return OpenSSHPublicKeyUtil.parsePublicKey(pubkeyBytes);
			}
		}

		throw new IOException(
			"Invalid SSH public key file, supported SSH public key not found: " +
				sshPublicKeyFile);
	}
Attempt to instantiate an SSH public key from the specified file
which contains a single public key.
@param sshPublicKeyFile public ssh key file
@return public key cipher parameters {@link RSAKeyParameters} or {@link DSAKeyParameters}
@throws FileNotFoundException key file not found
@throws IOException if key file not found or key parse failed
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/remote/security/SSHKeyManager.java