You didn’t explain your setup or who would be accessing this, so I’m making a lot of assumptions here. But just an FYI, all suggested software packages I mention can be downloaded and used for free, mostly under the GNU GPL.
First: if this is not a public server, if you care about security and privacy at all, don’t use telnet. It’s obsolete and insecure. If you’re using a UNIX machine, use ssh. Whatever program you want accessible remotely should be set as your account’s shell in /etc/passwd (this is pretty easy). The upside here is you immediately have access to a secure file sharing protocol (via SCP) if you do this. But, unless there’s something you’re not telling us, don’t use telnet.
Here’s what you need:
1) your server (you know more about this than I do). I have to assume you’re using Linux or something. Enable the ssh server and set up a relevant user account. You may need to tweak relevant firewall settings in your router or OS to allow remote access. You didn’t tell me enough to give me anymore information than that. If you really must use telnet, you’ll need to enable the telnet server. A modern UNIX-like OS (Linux, BSD, Mac OSX, whatever else) will almost certainly have an ssh server, but some may not install telnet servers automatically anymore. However, either of these matters could be as simple as un-commenting a line in /etc/inetd.conf – or, hell, maybe they’re both already running. Without knowing what OS you use, it’s hard to even guess about this.
2) an ssh client. These are built into nearly every UNIX/Linux/BSD OS out there. It’s also built into MacOS X. Log in using a command like ssh -l username towel.blinkenlights.nl
For Windows, there is no built in ssh client (or, after XP, no built in telnet client either). For either ssh or telnet, use PuTTy.
3) An SFTP or SCP client. These are, again, built into most UNIX-like OSes listed above, but for Windows you will need to download something. I suggest WinSCP. However, FileZilla is a worthy client too. These offer more secure file transfers because they’re encrypted.
3a) Okay, so, maybe if you really need to upload a lot of big files quickly, you might want to consider using old school FTP. This can probably be enabled in your inetd.conf file on a UNIX machine. For something heavier duty (e.g., some manner of public FTP server), you might want to Google around. I remember pureftpd being pretty good back in the days of yore, but I haven’t used FTP in a serious production environment in a very long time. For the client side, most OSes besides later (or really early) Windows versions will have built-in FTP clients. After XP, Windows may not, so, again, use WinSCP or FileZilla.
Of course, if you’re planning to run some kind of game or public access server, a telnet server might be called for. However, unless you can think of a very good reason to use telnet, I would advise against it.