WIP: ssh-agent support using jsch-agent-proxy
This commit is contained in:
@@ -13,11 +13,19 @@ import java.util.logging.Level;
|
||||
|
||||
import net.monarchpass.piecannon.util.ServerFactory;
|
||||
|
||||
import com.jcraft.jsch.IdentityRepository;
|
||||
import com.jcraft.jsch.agentproxy.Connector;
|
||||
import com.jcraft.jsch.agentproxy.AgentProxyException;
|
||||
import com.jcraft.jsch.agentproxy.RemoteIdentityRepository;
|
||||
import com.jcraft.jsch.agentproxy.ConnectorFactory;
|
||||
|
||||
@Log
|
||||
public class App {
|
||||
public static void main (final String... args) throws Exception {
|
||||
final File serversJson = getServersJson();
|
||||
final PieCannon cannon = new PieCannon();
|
||||
//cannon.getServerFactory().setIdentityRepository(createIdentityRepository());
|
||||
|
||||
final List<Server> servers = cannon.loadServersFrom(serversJson);
|
||||
log.log(Level.INFO, "{0} servers loaded from {1}", new Object[] {
|
||||
servers.size(), serversJson
|
||||
@@ -53,4 +61,20 @@ public class App {
|
||||
public static File getDataDirectory () {
|
||||
return new File(BaseDirectory.get(BaseDirectory.XDG_DATA_HOME), "piecannon");
|
||||
}
|
||||
|
||||
private static IdentityRepository createIdentityRepository () {
|
||||
try {
|
||||
final ConnectorFactory connectorFactory = ConnectorFactory.getDefault();
|
||||
final Connector connector = connectorFactory.createConnector();
|
||||
|
||||
if (connector != null) {
|
||||
return new RemoteIdentityRepository(connector);
|
||||
}
|
||||
}
|
||||
catch (final AgentProxyException exception) {
|
||||
log.log(Level.WARNING, "Failed to create agent identity repository", exception);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user