I have an application that provides real time log messages for users. Currently the application works by having the server listen on a straight forward TCP socket and the users can use a telnet client to connect. Once connected they get asked for their username, password and can then set a filter for the realtime events they want sent to them.
While no sensitive information is sent over the telnet session the application is getting to a stage where it's increased use warrants tightening up on security.
Ideally the console should be universally accessible from a shell on Windows, Linux and Macs. The only options that came to mind for that are telnet and ssh. As far as I know there's no way to increase security using a standard telnet client so that leaves ssh. Has anyone got any experience with an C# SSH server library or know of a different solution I could use? Is there some clever trick where a WCF endpoint can process ssh clients?