This is very interesting case of use. Well, Rebex supports both Telnet and SSH protocols. Unfortunately, we have only Telnet client.
However, our API allows you to implement your own transport layer, which enables you to behave as a Telnet "receiver" as well.
I used "receiver" term, because our Telnet client object cannot act as a true Telnet server. It is due to lack of general Telnet option handling API. It means that you will be able to accept a Telnet connections, but the internals will negotiate the Telnet options automatically (for Telnet client side).
However, I wanted to try myself whether we are able to achieve such solution and I succeeded. I have prepared a sample project for you (this is why my answer is delayed).
I was able to successfully connect to one of our SSH servers using Telnet protocol. I used PuTTY and everything worked as expected. I was even able to navigate in mc
using mouse.
However, please note that there are some limitations. The proxy is not capable to transmit terminal options negotiated by individual protocols. Especially: TERM_TYPE
, TERM_SIZE
, NEW_LINE
, LOCAL_ECHO
.
So, you have to setup everything on Telnet client and proxy appropriately to match SSH server settings.
Example:
In PuTTY:
- select:
Terminal->Local echo->Force off
- select:
Terminal->Local line editing->Force off
- uncheck:
Connection->Telnet->Return key sends...^M
In Proxy:
TERM_NAME = "xterm"
TERM_COLS = 80
TERM_ROWS = 24
Please, try the sample project and let me know whether it fulfills your needs.