TELNET(1) User Commands TELNET(1)

NAME


telnet - user interface to a remote system using the TELNET protocol

SYNOPSIS


telnet [-8EFKLacdfrx] [-X atype] [-e escape_char]
[-k realm] [-l user] [-n file]
[ [ [!] @hop1 [@hop2...] @] host [port]]


DESCRIPTION


The telnet utility communicates with another host using the TELNET
protocol. If telnet is invoked without arguments, it enters command mode,
indicated by its prompt, telnet>. In this mode, it accepts and executes
its associated commands. See USAGE. If it is invoked with arguments, it
performs an open command with those arguments.


If, for example, a host is specified as @hop1@hop2@host, the connection
goes through hosts hop1 and hop2, using loose source routing to end at
host. If a leading ! is used, the connection follows strict source
routing. Notice that when telnet uses IPv6, it can only use loose source
routing, and the connection ignores the !.


Once a connection has been opened, telnet enters input mode. In this
mode, text typed is sent to the remote host. The input mode entered will
be either "line mode", "character at a time", or "old line by line",
depending upon what the remote system supports.


In "line mode", character processing is done on the local system, under
the control of the remote system. When input editing or character echoing
is to be disabled, the remote system will relay that information. The
remote system will also relay changes to any special characters that
happen on the remote system, so that they can take effect on the local
system.


In "character at a time" mode, most text typed is immediately sent to the
remote host for processing.


In "old line by line" mode, all text is echoed locally, and (normally)
only completed lines are sent to the remote host. The "local echo
character" (initially ^E) may be used to turn off and on the local echo.
(Use this mostly to enter passwords without the password being echoed.).


If the "line mode" option is enabled, or if the localchars toggle is TRUE
(the default in "old line by line" mode), the user's quit, intr, and
flush characters are trapped locally, and sent as TELNET protocol
sequences to the remote side. If "line mode" has ever been enabled, then
the user's susp and eof are also sent as TELNET protocol sequences. quit
is then sent as a TELNET ABORT instead of BREAK. The options toggle
autoflush and toggle autosynch cause this action to flush subsequent
output to the terminal (until the remote host acknowledges the TELNET
sequence); and to flush previous terminal input, in the case of quit and
intr.


While connected to a remote host, the user can enter telnet command mode
by typing the telnet escape character (initially ^]). When in command
mode, the normal terminal editing conventions are available. Pressing
RETURN at the telnet command prompt causes telnet to exit command mode.

OPTIONS


The following options are supported:

-8

Specifies an 8-bit data path. Negotiating the TELNET BINARY option is
attempted for both input and output.


-a

Attempts automatic login. This sends the user name by means of the
USER variable of the ENVIRON option, if supported by the remote
system. The name used is that of the current user as returned by
getlogin(3C) if it agrees with the current user ID. Otherwise, it is
the name associated with the user ID.


-c

Disables the reading of the user's telnetrc file. (See the toggle
skiprc command on this reference page.)


-d

Sets the initial value of the debug toggle to TRUE.


-e escape_char

Sets the initial escape character to escape_char. escape_char may
also be a two character sequence consisting of ^ (Control key)
followed by one character. If the second character is ?, the DEL
character is selected. Otherwise, the second character is converted
to a control character and used as the escape character. If
escape_char is defined as the null string (that is, -e ''), this is
equivalent to -e '^@' (Control-@). To specify that no character can
be the escape character, use the -E option.


-E

Stops any character from being recognized as an escape character.


-f

Forwards a copy of the local credentials to the remote system.


-F

Forwards a forwardable copy of the local credentials to the remote
system.


-k realm

If Kerberos authentication is being used, requests that telnet obtain
tickets for the remote host in realm instead of the remote host's
default realm as determined in krb5.conf(5).


-K

Specifies no automatic login to the remote system.


-l user

When connecting to a remote system that understands the ENVIRON
option, then user will be sent to the remote system as the value for
the ENVIRON variable USER.


-L

Specifies an 8-bit data path on output. This causes the BINARY option
to be negotiated on output.


-n tracefile

Opens tracefile for recording trace information. See the set
tracefile command below.


-r

Specifies a user interface similar to rlogin. In this mode, the
escape character is set to the tilde (~) character, unless modified
by the -e option. The rlogin escape character is only recognized when
it is preceded by a carriage return. In this mode, the telnet escape
character, normally '^]', must still precede a telnet command. The
rlogin escape character can also be followed by '.\r' or '^Z', and,
like rlogin(1), closes or suspends the connection, respectively. This
option is an uncommitted interface and may change in the future.


-x

Turns on encryption of the data stream. When this option is turned
on, telnet will exit with an error if authentication cannot be
negotiated or if encryption cannot be turned on.


-X atype

Disables the atype type of authentication.


USAGE


telnet Commands
The commands described in this section are available with telnet. It is
necessary to type only enough of each command to uniquely identify it.
(This is also true for arguments to the mode, set, toggle, unset,
environ, and display commands.)

auth argument ...

The auth command manipulates the information sent through the TELNET
AUTHENTICATE option. Valid arguments for the auth command are as
follows:

disable type

Disables the specified type of authentication. To obtain a list
of available types, use the auth disable ? command.


enable type

Enables the specified type of authentication. To obtain a list of
available types, use the auth enable ? command.


status

Lists the current status of the various types of authentication.


open [-l user ] [ [!] @hop1 [@hop2 ...]@host [ port ]

Open a connection to the named host. If no port number is specified,
telnet will attempt to contact a TELNET server at the default port.
The host specification may be either a host name (see hosts(5)) or an
Internet address specified in the "dot notation" (see inet(4P) or
inet6(4P)). If the host is specified as @hop1@hop2@host, the
connection goes through hosts hop1 and hop2, using loose source
routing to end at host. The @ symbol is required as a separator
between the hosts specified. If a leading ! is used with IPv4, the
connection follows strict source routing.

The -l option passes the user as the value of the ENVIRON variable
USER to the remote system.


close

Close any open TELNET session and exit telnet. An EOF (in command
mode) will also close a session and exit.


encrypt

The encrypt command manipulates the information sent through the
TELNET ENCRYPT option.

Valid arguments for the encrypt command are as follows:

disable type [input|output]

Disables the specified type of encryption. If you omit the input
and output, both input and output are disabled. To obtain a list
of available types, use the encrypt disable ? command.


enable type [input|output]

Enables the specified type of encryption. If you omit input and
output, both input and output are enabled. To obtain a list of
available types, use the encrypt enable ? command.


input

This is the same as the encrypt start input command.


-input

This is the same as the encrypt stop input command.


output

This is the same as the encrypt start output command.


-output

This is the same as the encrypt stop output command.


start [input|output]

Attempts to start encryption. If you omit input and output, both
input and output are enabled. To obtain a list of available
types, use the encrypt enable ? command.


status

Lists the current status of encryption.


stop [input|output]

Stops encryption. If you omit input and output, encryption is on
both input and output.


type type

Sets the default type of encryption to be used with later encrypt
start or encrypt stop commands.


quit

Same as close.


z

Suspend telnet. This command only works when the user is using a
shell that supports job control, such as sh(1).


mode type

The remote host is asked for permission to go into the requested
mode. If the remote host is capable of entering that mode, the
requested mode will be entered. The argument type is one of the
following:

character

Disable the TELNET LINEMODE option, or, if the remote side does
not understand the LINEMODE option, then enter "character at a
time" mode.


line

Enable the TELNET LINEMODE option, or, if the remote side does
not understand the LINEMODE option, then attempt to enter "old-
line-by-line" mode.


isig (-isig)

Attempt to enable (disable) the TRAPSIG mode of the LINEMODE
option. This requires that the LINEMODE option be enabled.


edit (-edit)

Attempt to enable (disable) the EDIT mode of the LINEMODE option.
This requires that the LINEMODE option be enabled.


softtabs (-softtabs)

Attempt to enable (disable) the SOFT_TAB mode of the LINEMODE
option. This requires that the LINEMODE option be enabled.


litecho (-litecho)

Attempt to enable (disable) the LIT_ECHO mode of the LINEMODE
option. This requires that the LINEMODE option be enabled.


?

Prints out help information for the mode command.


status

Show the current status of telnet. This includes the peer one is
connected to, as well as the current mode.


display

[argument...] Display all, or some, of the set and toggle values (see
toggle argument...).


?

[command] Get help. With no arguments, telnet prints a help summary.
If a command is specified, telnet will print the help information for
just that command.


send argument...

Send one or more special character sequences to the remote host. The
following are the arguments that can be specified (more than one
argument may be specified at a time):

escape

Send the current telnet escape character (initially ^]).


synch

Send the TELNET SYNCH sequence. This sequence discards all
previously typed, but not yet read, input on the remote system.
This sequence is sent as TCP urgent data and may not work if the
remote system is a 4.2 BSD system. If it does not work, a
lowercase "r" may be echoed on the terminal.


brk or break

Send the TELNET BRK (Break) sequence, which may have significance
to the remote system.


ip

Send the TELNET IP (Interrupt Process) sequence, which aborts the
currently running process on the remote system.


abort

Send the TELNET ABORT (Abort Process) sequence.


ao

Send the TELNET AO (Abort Output) sequence, which flushes all
output from the remote system to the user's terminal.


ayt

Send the TELNET AYT (Are You There) sequence, to which the remote
system may or may not respond.


ec

Send the TELNET EC (Erase Character) sequence, which erases the
last character entered.


el

Send the TELNET EL (Erase Line) sequence, which should cause the
remote system to erase the line currently being entered.


eof

Send the TELNET EOF (End Of File) sequence.


eor

Send the TELNET EOR (End Of Record) sequence.


ga

Send the TELNET GA (Go Ahead) sequence, which probably has no
significance for the remote system.


getstatus

If the remote side supports the TELNET STATUS command, getstatus
will send the subnegotiation to request that the server send its
current option status.


nop

Send the TELNET NOP (No Operation) sequence.


susp

Send the TELNET SUSP (Suspend Process) sequence.


do option
dont option
will option
wont option

Send the TELNET protocol option negotiation indicated. Option may
be the text name of the protocol option, or the number
corresponding to the option. The command will be silently
ignored if the option negotiation indicated is not valid in the
current state. If the option is given as help or ?, the list of
option names known is listed. This command is mostly useful for
unusual debugging situations.


?

Print out help information for the send command.


set argument [value]
unset argument

Set any one of a number of telnet variables to a specific value. The
special value off turns off the function associated with the
variable. The values of variables may be interrogated with the
display command. If value is omitted, the value is taken to be true,
or "on". If the unset form is used, the value is taken to be false,
or off. The variables that may be specified are:

echo

This is the value (initially ^E) that, when in "line by line"
mode, toggles between local echoing of entered characters for
normal processing, and suppressing echoing of entered characters,
for example, entering a password.


escape

This is the telnet escape character (initially ^]) that enters
telnet command mode when connected to a remote system.


interrupt

If telnet is in localchars mode (see toggle, localchars) and the
interrupt character is typed, a TELNET IP sequence (see send and
ip) is sent to the remote host. The initial value for the
interrupt character is taken to be the terminal's intr character.


quit

If telnet is in localchars mode and the quit character is typed,
a TELNET BRK sequence (see send, brk) is sent to the remote host.
The initial value for the quit character is taken to be the
terminal's quit character.


flushoutput

If telnet is in localchars mode and the flushoutput character is
typed, a TELNET AO sequence (see send, ao) is sent to the remote
host. The initial value for the flush character is taken to be
the terminal's flush character.


erase

If telnet is in localchars mode and operating in "character at a
time" mode, then when the erase character is typed, a TELNET EC
sequence (see send, ec) is sent to the remote system. The initial
value for the erase character is taken to be the terminal's erase
character.


kill

If telnet is in localchars mode and operating in "character at a
time" mode, then when the kill character is typed, a TELNET EL
sequence (see send, el) is sent to the remote system. The initial
value for the kill character is taken to be the terminal's kill
character.


eof

If telnet is operating in "line by line"/ mode, entering the eof
character as the first character on a line sends this character
to the remote system. The initial value of eof is taken to be the
terminal's eof character.


ayt

If telnet is in localchars mode, or LINEMODE is enabled, and the
status character is typed, a TELNET AYT ("Are You There")
sequence is sent to the remote host. (See send, ayt above.) The
initial value for ayt is the terminal's status character.


forw1
forw2

If telnet is operating in LINEMODE, and the forw1 or forw2
characters are typed, this causes the forwarding of partial lines
to the remote system. The initial values for the forwarding
characters come from the terminal's eol and eol2 characters.


lnext

If telnet is operating in LINEMODE or "old line by line" mode,
then the lnext character is assumed to be the terminal's lnext
character. The initial value for the lnext character is taken to
be the terminal's lnext character.


reprint

If telnet is operating in LINEMODE or "old line by line" mode,
then the reprint character is assumed to be the terminal's
reprint character. The initial value for reprint is taken to be
the terminal's reprint character.


rlogin

This is the rlogin escape character. If set, the normal telnet
escape character is ignored, unless it is preceded by this
character at the beginning of a line. The rlogin character, at
the beginning of a line followed by a "." closes the connection.
When followed by a ^Z, the rlogin command suspends the telnet
command. The initial state is to disable the rlogin escape
character.


start

If the TELNET TOGGLE-FLOW-CONTROL option has been enabled, then
the start character is taken to be the terminal's start
character. The initial value for the kill character is taken to
be the terminal's start character.


stop

If the TELNET TOGGLE-FLOW-CONTROL option has been enabled, then
the stop character is taken to be the terminal's stop character.
The initial value for the kill character is taken to be the
terminal's stop character.


susp

If telnet is in localchars mode, or LINEMODE is enabled, and the
suspend character is typed, a TELNET SUSP sequence (see send,
susp above) is sent to the remote host. The initial value for the
suspend character is taken to be the terminal's suspend
character.


tracefile

This is the file to which the output, generated when the netdata
or the debug option is TRUE, will be written. If tracefile is set
to "-", then tracing information will be written to standard
output (the default).


worderase

If telnet is operating in LINEMODE or "old line by line" mode,
then this character is taken to be the terminal's worderase
character. The initial value for the worderase character is taken
to be the terminal's worderase character.


?

Displays the legal set and unset commands.


slc state

The slc (Set Local Characters) command is used to set or change the
state of special characters when the TELNET LINEMODE option has been
enabled. Special characters are characters that get mapped to TELNET
commands sequences (like ip or quit) or line editing characters (like
erase and kill). By default, the local special characters are
exported. The following values for state are valid:

check

Verifies the settings for the current special characters. The
remote side is requested to send all the current special
character settings. If there are any discrepancies with the local
side, the local settings will switch to the remote values.


export

Switches to the local defaults for the special characters. The
local default characters are those of the local terminal at the
time when telnet was started.


import

Switches to the remote defaults for the special characters. The
remote default characters are those of the remote system at the
time when the TELNET connection was established.


?

Prints out help information for the slc command.


toggle argument...

Toggle between TRUE and FALSE the various flags that control how
telnet responds to events. More than one argument may be specified.
The state of these flags may be interrogated with the display
command. Valid arguments are:

authdebug
Turns on debugging information for the
authentication code.


autodecrypt
When the TELNET ENCRYPT option is negotiated, by
default the actual encryption (decryption) of the
data stream does not start automatically. The
autoencrypt (autodecrypt) command states that
encryption of the output (input) stream should be
enabled as soon as possible.


autologin
If the remote side supports the TELNET
AUTHENTICATION option, telnet attempts to use it
to perform automatic authentication. If the
AUTHENTICATION option is not supported, the
user's login name is propagated through the
TELNET ENVIRON option. This command is the same
as specifying the -a option on the open command.


autoflush
If autoflush and localchars are both TRUE, then
when the ao, intr, or quit characters are
recognized (and transformed into TELNET
sequences; see set for details), telnet refuses
to display any data on the user's terminal until
the remote system acknowledges (using a TELNET
Timing Mark option) that it has processed those
TELNET sequences. The initial value for this
toggle is TRUE if the terminal user has not done
an "stty noflsh". Otherwise, the value is FALSE
(see stty(1)).


autosynch
If autosynch and localchars are both TRUE, then
when either the interrupt or quit characters are
typed (see set for descriptions of interrupt and
quit), the resulting TELNET sequence sent is
followed by the TELNET SYNCH sequence. This
procedure should cause the remote system to begin
throwing away all previously typed input until
both of the TELNET sequences have been read and
acted upon. The initial value of this toggle is
FALSE.


binary
Enable or disable the TELNET BINARY option on
both input and output.


inbinary
Enable or disable the TELNET BINARY option on
input.


outbinary
Enable or disable the TELNET BINARY option on
output.


crlf
Determines how carriage returns are sent. If the
value is TRUE, then carriage returns will be sent
as <CR><LF>. If the value is FALSE, then carriage
returns will be send as <CR><NUL>. The initial
value for this toggle is FALSE.


crmod
Toggle RETURN mode. When this mode is enabled,
most RETURN characters received from the remote
host will be mapped into a RETURN followed by a
line feed. This mode does not affect those
characters typed by the user, only those received
from the remote host. This mode is useful only
for remote hosts that send RETURN but never send
LINEFEED. The initial value for this toggle is
FALSE.


debug
Toggle socket level debugging (only available to
the super-user). The initial value for this
toggle is FALSE.


encdebug
Turns on debugging information for the encryption
code.


localchars
If this toggle is TRUE, then the flush,
interrupt, quit, erase, and kill characters (see
set) are recognized locally, and transformed into
appropriate TELNET control sequences,
respectively ao, ip, brk, ec, and el (see send).
The initial value for this toggle is TRUE in
"line by line" mode, and FALSE in "character at a
time" mode. When the LINEMODE option is enabled,
the value of localchars is ignored, and assumed
always to be TRUE. If LINEMODE has ever been
enabled, then quit is sent as abort, and eof and
suspend are sent as eof and susp (see send
above).


netdata
Toggle the display of all network data (in
hexadecimal format). The initial value for this
toggle is FALSE.


options
Toggle the display of some internal TELNET
protocol processing (having to do with telnet
options). The initial value for this toggle is
FALSE.


prettydump
When the netdata toggle is enabled, if prettydump
is enabled, the output from the netdata command
will be formatted in a more user readable format.
Spaces are put between each character in the
output. The beginning of any TELNET escape
sequence is preceded by an asterisk (*) to aid in
locating them.


skiprc
When the skiprc toggle is TRUE, TELNET skips the
reading of the .telnetrc file in the user's home
directory when connections are opened. The
initial value for this toggle is FALSE.


termdata
Toggles the display of all terminal data (in
hexadecimal format). The initial value for this
toggle is FALSE.


verbose_encrypt
When the verbose_encrypt flag is TRUE, TELNET
prints out a message each time encryption is
enabled or disabled. The initial value for this
toggle is FALSE.


?
Display the legal toggle commands.


environ argument...

The environ command is used to manipulate variables that may be sent
through the TELNET ENVIRON option. The initial set of variables is
taken from the users environment. Only the DISPLAY and PRINTER
variables are exported by default. Valid arguments for the environ
command are:

define variable value

Define variable to have a value of value. Any variables defined
by this command are automatically exported. The value may be
enclosed in single or double quotes, so that tabs and spaces may
be included.


undefine variable

Remove variable from the list of environment variables.


export variable

Mark the variable to be exported to the remote side.


unexport variable

Mark the variable to not be exported unless explicitly requested
by the remote side.


list

List the current set of environment variables. Those marked with
an asterisk (*) will be sent automatically. Other variables will
be sent only if explicitly requested.


?

Prints out help information for the environ command.


logout

Sends the telnet logout option to the remote side. This command is
similar to a close command. However, if the remote side does not
support the logout option, nothing happens. If, however, the remote
side does support the logout option, this command should cause the
remote side to close the TELNET connection. If the remote side also
supports the concept of suspending a user's session for later
reattachment, the logout argument indicates that the remote side
should terminate the session immediately.


FILES


$HOME/.telnetrc
file that contains commands to be executed before
initiating a telnet session


SEE ALSO


rlogin(1), sh(1), stty(1), getlogin(3C), inet(4P), inet6(4P), hosts(5),
krb5.conf(5), nologin(5), telnetrc(5), attributes(7)

DIAGNOSTICS


NO LOGINS: System going down in N minutes

The machine is in the process of being shut down and logins have been
disabled.


NOTES


On some remote systems, echo has to be turned off manually when in "line
by line" mode.


In "old line by line" mode, or LINEMODE, the terminal's EOF character is
only recognized (and sent to the remote system) when it is the first
character on a line.


The telnet protocol only uses single DES for session protection--clients
request service tickets with single DES session keys. The KDC must know
that host service principals that offer the telnet service support single
DES, which, in practice, means that such principals must have single DES
keys in the KDC database.

August 17, 2006 TELNET(1)