diff --git a/src/main/java/net/schmizz/sshj/transport/verification/OpenSSHKnownHosts.java b/src/main/java/net/schmizz/sshj/transport/verification/OpenSSHKnownHosts.java index daf1269a..aaeb5aa4 100644 --- a/src/main/java/net/schmizz/sshj/transport/verification/OpenSSHKnownHosts.java +++ b/src/main/java/net/schmizz/sshj/transport/verification/OpenSSHKnownHosts.java @@ -28,9 +28,11 @@ import org.slf4j.LoggerFactory; import java.io.BufferedOutputStream; import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; +import java.io.FileWriter; import java.io.IOException; import java.math.BigInteger; import java.security.KeyFactory; @@ -129,6 +131,22 @@ public class OpenSSHKnownHosts } } + /** + * Append a single entry + */ + public void write(HostEntry entry) + throws IOException { + final BufferedWriter writer = new BufferedWriter(new FileWriter(khFile, true)); + try { + writer.write(entry.getLine()); + writer.newLine(); + writer.flush(); + } + finally { + IOUtils.closeQuietly(writer); + } + } + public static File detectSSHDir() { final File sshDir = new File(System.getProperty("user.home"), ".ssh"); return sshDir.exists() ? sshDir : null;