use of org.apache.sshd.agent.local.AgentServerProxy in project karaf by apache.
the class KarafAgentFactory method createClient.
public SshAgent createClient(FactoryManager manager) throws IOException {
String proxyId = (String) manager.getProperties().get(SshAgent.SSH_AUTHSOCKET_ENV_NAME);
if (proxyId == null) {
throw new IllegalStateException("No " + SshAgent.SSH_AUTHSOCKET_ENV_NAME + " environment variable set");
}
AgentServerProxy proxy = proxies.get(proxyId);
if (proxy != null) {
return proxy.createClient();
}
SshAgent agent = locals.get(proxyId);
if (agent != null) {
return new AgentDelegate(agent);
}
throw new IllegalStateException("No ssh agent found");
}
use of org.apache.sshd.agent.local.AgentServerProxy in project karaf by apache.
the class KarafAgentFactory method createServer.
public SshAgentServer createServer(ConnectionService service) throws IOException {
Session session = service.getSession();
if (!(session instanceof ServerSession)) {
throw new IllegalStateException("The session used to create an agent server proxy must be a server session");
}
final AgentServerProxy proxy = new AgentServerProxy(service);
proxies.put(proxy.getId(), proxy);
return new SshAgentServer() {
public String getId() {
return proxy.getId();
}
@Override
public boolean isOpen() {
return proxy.isOpen();
}
public void close() throws IOException {
proxies.remove(proxy.getId());
proxy.close();
}
};
}
Aggregations