16

a normal telnet connection is like this:

telnet localhost 22
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_4.2
^]
telnet> close
Connection closed.

I want to close it from telnet session itself without coming to telnet prompt by pressing. My requirement is that if i press some control character from telnet session itself like CTRL+A so it will come out of session and close it automatically. something like this:

$ telnet localhost 22
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_4.2
^A
Connection closed.
$

I tried all the options given at the man page and tried to do some $HOME/.telnetrc file tests but couldn't achieve it, as telnetrc will execute all the commands written in it with the given host whenever a telnet to that host is done.

Can anyone help me in this, like how it can be achieved.

u1686_grawity
  • 426,297
  • 64
  • 894
  • 966
Kumar Alok
  • 1,563
  • 3
  • 11
  • 10
  • it's so complicated..why you not use "exit"???its...more easy.. –  Jun 28 '10 at 06:58
  • for using exit also i need to come to telnet prompt first. right. while my requirement is to close the connection pr exit it from session mode without coming to telnet prompt(i.e. for coming to telnet prompt i need to first send escape character and then i can do close or exit). – Kumar Alok Jun 28 '10 at 08:04
  • @ Paul : I don't get you. can you please tell me where can i find the solution. – Kumar Alok Jun 28 '10 at 08:33
  • 3
    Can you explain why one would want this? Telnet is just a *client program* to connect to some arbitrary service on some machine. If you use port 23 you connect to the telnet *service* and can terminate your login with `exit`, but this is a shell command, not a telnet command. You have to go to the telnet prompt to terminate a connection if the service you connected to doesn't offer a command to terminate the connection. If you want to login to a remote machine via ssh use the `ssh` command, not `telnet` (unless you want to do manual encryption). – Benjamin Bannier Jun 29 '10 at 02:44

2 Answers2

32

No, the telnet client (I'm guessing you are asking about the Linux one) only supports one escape character, Ctrl] (^]).

If you are just using telnet to make arbitrary TCP connections, consider using netcat or socat instead; these can be interrupted by simply pressing CtrlC.

u1686_grawity
  • 426,297
  • 64
  • 894
  • 966
-4

What about the good old CTRL+D, aka EOF?

Matthew Williams
  • 4,314
  • 12
  • 26
  • 38
kdo
  • 377
  • 1
  • 2
  • 1
    it would work only if it is handled on the server side of session. Which is not true in general (and also not true in mentioned 22 port ssh connection). – Andrey Regentov May 13 '14 at 03:16