diff --git a/datasophon-service/src/main/java/com/datasophon/api/utils/MinaUtils.java b/datasophon-service/src/main/java/com/datasophon/api/utils/MinaUtils.java index ce5491a4..f820bf47 100644 --- a/datasophon-service/src/main/java/com/datasophon/api/utils/MinaUtils.java +++ b/datasophon-service/src/main/java/com/datasophon/api/utils/MinaUtils.java @@ -51,11 +51,11 @@ public class MinaUtils { /** 打开远程会话 */ public static ClientSession openConnection(String sshHost, Integer sshPort, String sshUser) { - SshClient sshClient = SshClient.setUpDefaultClient(); - sshClient.start(); ClientSession session = null; - String privateKeyPath = System.getProperty("user.home") + Constants.ID_RSA; - try { + try (SshClient sshClient = SshClient.setUpDefaultClient()) { + sshClient.start(); + String privateKeyPath = System.getProperty("user.home") + Constants.ID_RSA; + String privateKeyContent = new String(Files.readAllBytes(Paths.get(privateKeyPath))); session = sshClient.connect(sshUser, sshHost, sshPort).verify().getClientSession(); session.addPublicKeyIdentity(getKeyPairFromString(privateKeyContent)); @@ -63,6 +63,7 @@ public static ClientSession openConnection(String sshHost, Integer sshPort, Stri LOG.info("验证失败"); return null; } + } catch (IOException e) { throw new RuntimeException(e); }