One feature telnet has and I always missed from ssh was the ^] shortcut, giving you a way to terminate the connection.
ssh has a similar feature. If you setup 'escape characters', you can terminate the connection by typing '~.' Just add the following to your .ssh/config:
- Host *
- EscapeChar ~
You can change the character here too, but ~ is the default and a sensible one.
If you're dealing with crappy ssh connections that often terminate, you can add the following to make the client send a keep-alive package every 60 seconds:
- Host *
- ServerAliveInterval 60

with regards to terminating a ssh connection does 'ctrl+d' not do what you are after?
No, ctrl+d is sent to the server. That's why you can place jobs in the background while being connected, instead of putting the ssh client itself in the background.
have you tried 'screen' a really nice way to put stuff in the background, and then terminating normally with ctrl-d
Funnily only discovered that one after I found it running on a server which was broken into ;)
I actually tend to start screen when I'm already logged in, not before I log in. The main difference is that it allows me to resume my ssh session on the client, and ctrl-d won't work in those cases =).
There's no need to add the settings to your .ssh/config - ssh by default uses '~' as escape char.