提交 a0c8028b 编写于 作者: S serge-rider

#1677 Agent init fix. JNA deps fix

上级 a07dcc0f
......@@ -26,6 +26,7 @@ Require-Bundle: org.eclipse.equinox.security,
org.jkiss.dbeaver.model;visibility:=reexport,
org.jkiss.dbeaver.registry,
com.sun.jna,
com.sun.jna.platform,
com.jcraft.jsch
Bundle-Localization: OSGI-INF/l10n/bundle
Automatic-Module-Name: org.jkiss.dbeaver.net.ssh
......@@ -16,12 +16,12 @@
*/
package org.jkiss.dbeaver.model.net.ssh;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import com.jcraft.jsch.agentproxy.AgentProxy;
import com.jcraft.jsch.agentproxy.Identity;
import com.jcraft.jsch.agentproxy.USocketFactory;
import com.jcraft.jsch.agentproxy.connector.PageantConnector;
import com.jcraft.jsch.agentproxy.connector.SSHAgentConnector;
import com.jcraft.jsch.agentproxy.usocket.NCUSocketFactory;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.model.app.DBPPlatform;
......@@ -30,12 +30,11 @@ import org.jkiss.dbeaver.model.net.DBWHandlerConfiguration;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.utils.CommonUtils;
import com.jcraft.jsch.agentproxy.AgentProxy;
import com.jcraft.jsch.agentproxy.Identity;
import com.jcraft.jsch.agentproxy.USocketFactory;
import com.jcraft.jsch.agentproxy.connector.PageantConnector;
import com.jcraft.jsch.agentproxy.connector.SSHAgentConnector;
import com.jcraft.jsch.agentproxy.usocket.NCUSocketFactory;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* SSH tunnel
......@@ -114,19 +113,22 @@ public abstract class SSHImplementationAbstract implements SSHImplementation {
if (authType == SSHConstants.AuthType.AGENT) {
try {
agentProxy = new AgentProxy(new PageantConnector());
log.debug("SSH: Connected to pagent");
log.debug("SSH: Connected with pageant");
} catch (Exception e) {
log.error("Cannot connect pagent, will try ssh-agent: "+e.getMessage());
log.debug("pageant connect exception", e);
}
if (agentProxy==null) {
try {
USocketFactory udsf = new NCUSocketFactory();
agentProxy = new AgentProxy(new SSHAgentConnector(udsf));
log.debug("Connected to ssh-agent");
log.debug("SSH: Connected with ssh-agent");
} catch (Exception e) {
throw new DBException("ssh-agent connection exception: ", e);
log.debug("ssh-agent connection exception", e);
}
}
if (agentProxy==null) {
throw new DBException("Unable to initialize SSH agent");
}
}
if (connectTimeout == 0){
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册