TotalFreedom / TotalFreedomMod

A server modification for the TotalFreedom server
http://totalfreedom.me/
Other
43 stars 224 forks source link

Replace Telnet with SSH #2146

Open Hockeyfan360 opened 6 years ago

Hockeyfan360 commented 6 years ago

http://totalfreedom.boards.net/thread/57950/replace-telnet-ssh-bukkittelnet

SSH is a significantly more modern and secure protocol than telnet. The Apache Mina SSHD project is a library that lets you embed SSHD servers into Java applications. This is exactly what we would need for this project.

We would need to implement a custom PasswordAuthenticator service. Seeing as the PasswordAuthenticator interface passes a session object, you can probably verify IPs, too. I'll look into that later. After that, we just write to each session as Telnet does.

For logs: getAllSessions(), for each AbstractSession, writePacket(stuff). For commands: Again, I'll figure that out later.

It's a fairly difficult project. However, it is very doable.

https://mina.apache.org/sshd-project/embedding_ssh.html https://mina.apache.org/sshd-project/apidocs/

script-head commented 6 years ago

We'd have to rewrite almost everything related to telnet and re-make clients for this as many people probably wouldn't want to looking at black on white.

Hockeyfan360 commented 6 years ago

^ Yeah, it is a hurdle. And to be completely honest, I'm not sure it's worth it either. Yes, it's more secure than telnet, but we're losing a lot of functionality for a small gain. This is just a discussion thread, and I'm interested to see what others think, too.

JeromSar commented 6 years ago

I've thought of this before, and I like the idea very much. It just needs time and someone willing to implement it. It shouldn't be too hard but may require a little cleverness here and there. However, there are currently much more important issues that we should be focusing on.

Wild1145 commented 6 years ago

Im certainly open to the idea, though given Telnet has been retired for many years already I dont think we need to rush to change it just because people suddenly realise its not the most modern system.

Wild1145 commented 6 years ago

https://dev.bukkit.org/bukkit-plugins/sshd - A plugin that we could probably use and integrate with for the server side.