[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is ssh appropriate for this use case?
[Thread Prev] | [Thread Next]
- Subject: Re: Is ssh appropriate for this use case?
- From: Christopher Morley <chris@xxxxxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Sat, 11 Apr 2020 17:37:35 -0400
- To: libssh@xxxxxxxxxx
Hello Yuanzhe, Thank you for your reply and the links, I will study them. Best regards, Chris On Fri, Apr 10, 2020 at 3:58 AM 刘元哲 <945695107@xxxxxx> wrote: > Hello, Chris > > I'm also learning libssh this few days, and found your problem when I wake > up at afternoon :-). > First of all, I think libssh tcp/ip forwarding can solve your problem, u > need read > https://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html(local > port forwarding part) to understand what does local port forwarding do and > why it's an appropriate solution. > Then u can read this > https://api.libssh.org/stable/libssh_tutor_forwarding.html > It shows the whole architecture about tcp/ip forward on client side. It > holds one session between client(java) and server(c++), > no matter how many simulation processes u have, it doesn't care. I'm not > familiar with java, but libssh is used in C, maybe > u need a JNI? Anyway once u can run this function, the server > side(sshd_tcpip_forward.c), should be able to receive the request. > Here to make things clear, libssh is not something u can use automatic, > it's NOT openssh, a prebuilt binary with many options u can choose, > u need to program some codes: > the client side in tutor only show how to open a request to server, I > think u need to make java part connect to some localhost port, see 4321, > then in client code, u program a event_loop, check here: > https://api.libssh.org/stable/group__libssh__poll.html, ssh_add_event_fd, > use socket to listen at 4321, once something arrive, forward it to server. > Obviously u need to define what the date struct, as u may have many > simulation processes, and how long it is.(read ssh_channel_open_forward > CAREFULLY!!, u must understand what the parameter should be). > Now it's ready to send it, once server receive it, it also need to > re-direct to ur cpp listen port, here u also need program with socket, like > client side, > use ssh_event callback. > > Hope my thought can inspire you, > And sorry for the bad typesetting > Yuanzhe > > ------------------ 原始邮件 ------------------ > *发件人:* "Christopher Morley"<chris@xxxxxxxxxxxxxxx>; > *发送时间:* 2020年4月10日(星期五) 上午8:07 > *收件人:* "libssh"<libssh@xxxxxxxxxx>; > *主题:* Is ssh appropriate for this use case? > > Hi all - > I hope this is an appropriate question for this forum. > > I have an application that consists of a user interface component (written > in java) and a simulation engine (written in c++). These run in separate > processes, potentially on different machines. The java process can start > one or more simulation processes, disconnect, and re-connect to them. The > simulation process can accept multiple user interface connections. > Currently the processes communicate via tcp sockets, with the c++ process > implementing a fairly standard non-blocking select-based event loop for > processing requests from the connected java process(es). > > I would like to add user authentication (for connection requests to the > c++ simulation component) and encryption of the socket communications. I > have been working on a small prototype based on the sshd_direct-tcpip.c > example from libssh and the jsch example app UserAuthPubKey.java using > public key (RSA) authentication. > > OK, my specific questions: > 1. Is ssh in general and libssh (and jsch?) appropriate choices to solve > this problem? > 2. Is the direct-tcpip channel the right one to use? Is there a more > appropriate example that I can use, such as an "echo" server? > 3. If there is not such an example, would offering $ persuade anyone to > produce such an example (eg a non-blocking echo server using libssh) ? > > Thanks in advance for any assistance or opinions you can offer- > Chris > >
Is ssh appropriate for this use case? | Christopher Morley <chris@xxxxxxxxxxxxxxx> |
=?gb18030?b?u9i4tKO6SXMgc3NoIGFwcHJvcHJpYXRlIGZvciB0?==?gb18030?b?aGlzIHVzZSBjYXNlPw==?= | "=?gb18030?b?wfXUqtXc?=" <945695107@xxxxxx> |