It may be easier for you to go to a lower level though. SshClient client = SshClient.setUpDefaultClient(); ClientSession session = new ClientSessionImpl(client, new MinaSession(null, ioSession)); session.setUsername(...); ...
I suppose your code snippet should work too, though you'd have to call client.connect() with a dummy address. 2015-10-21 8:24 GMT+02:00 Vikram Darsi <[email protected]>: > Hi > > We have a Netconf protocol implementation on top of Apache MINA and Apache > SSHD, and currently working on new feature "reverse SSH" > > > 1. Apache MINA's NioSocketAcceptor is used to accept incoming connections > and a StreamIOhandler is set to it. > > 2. So, when a connection is accepted, we have a IoSession, InputStream and > OutputStream with us > > 3. As per the concept of reverseSSH, all further request's should use the > same channel. > > Here comes the need to attach the IoSession to Apache SSHD's SshClient > > The following is the code snippet written for achieving this > > > sshClient.setIoServiceFactoryFactory(new IoServiceFactoryFactory() { > @Override > public IoServiceFactory create(final FactoryManager manager) { > return new MinaServiceFactory(manager) { > @Override > public IoConnector createConnector(final IoHandler > handler) { > try { > return new Nio2Connector(manager, handler, > AsynchronousChannelGroup.withThreadPool(MoreExecutors.sameThreadExecutor())) > { > @Override > public IoConnectFuture connect(final > SocketAddress address) { > DefaultIoConnectFuture > defaultIoConnectFuture = new DefaultIoConnectFuture(null); > > defaultIoConnectFuture.setSession(ioSession); > return defaultIoConnectFuture; > } > }; > } catch (IOException e) { > // FIXME > e.printStackTrace(); > } > return null; > } > }; > } > }); > > > sshClient.start(); > > Are these steps correct? If not, can you please let us know the correct > steps. > > 4. For further communication can we use this SshClient API to talk to the > devices in usual manner? > > > > Thanks > Vikram > > > This email and attachments may contain privileged or confidential > information intended only for the addressee(s) indicated. The sender does > not waive any of its rights, privileges or protections respecting this > information. If you are not the named addressee, an employee, or agent > responsible for sending this message to the named addressee (or this > message was received by mistake), you are not authorized to read, print, > retain, copy or disseminate this message or any part of it. If received in > error, please notify us immediately by e-mail, discard any paper copies and > delete all electronic files of the email. > > Computer viruses can be transmitted via email. The recipient should check > this email and any attachments for viruses. Email transmission cannot be > guaranteed to be secured or error-free as information could be intercepted, > corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. > The sender accepts no liability for any damage caused by any transmitted > viruses or errors or omissions in the contents of this message. > > Overture Networks, Inc. 637 Davis Drive, Morrisville, NC USA 27560 > www.overturenetworks.com >
