diff options
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/RemoteExec.java')
-rw-r--r-- | src/main/java/org/openslx/taskmanager/tasks/RemoteExec.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/RemoteExec.java b/src/main/java/org/openslx/taskmanager/tasks/RemoteExec.java index 3bd0954..8e88599 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/RemoteExec.java +++ b/src/main/java/org/openslx/taskmanager/tasks/RemoteExec.java @@ -9,6 +9,10 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; +import com.sshtools.common.publickey.InvalidPassphraseException; +import com.sshtools.common.publickey.SshKeyUtils; +import com.sshtools.common.publickey.bc.OpenSSHPrivateKeyFileBC; +import com.sshtools.common.ssh.components.SshKeyPair; import org.openslx.satserver.util.Util; import org.openslx.taskmanager.api.AbstractTask; @@ -77,6 +81,15 @@ public class RemoteExec extends AbstractTask if ( status.error != null ) return false; + // Convert ssh key to old rsa format supported by JSch + try { + SshKeyPair key = SshKeyUtils.getPrivateKey(sshkey, ""); + sshkey = new String(new OpenSSHPrivateKeyFileBC(key, "").getFormattedKey(), + StandardCharsets.UTF_8); + } catch (IOException | InvalidPassphraseException e) { + e.printStackTrace(); + } + JSch.setConfig( "StrictHostKeyChecking", "no" ); sshClient = new JSch(); try { |