| TELNET(1) | General Commands Manual | TELNET(1) |
telnet — user
interface to the TELNET protocol
telnet |
[-4678acDEKLr]
[-b hostalias]
[-e escapechar]
[-l user]
[-n tracefile]
[-V rtable]
[host [port]] |
The telnet command is used to communicate
with another host using the TELNET protocol. If
telnet is invoked without the
host argument, it enters command mode, indicated by
its prompt (telnet>). In this mode, it accepts
and executes the commands listed below. If it is invoked with arguments, it
performs an open command with those arguments.
The options are as follows:
-4telnet to use IPv4 addresses only.-6telnet to use IPv6 addresses only.-7TELNET BINARY option on both input and
output.-8TELNET BINARY option on both input and output.
This is the default.-aUSER variable of the
ENVIRON option if supported by the remote system.
The name used is that of the current user as returned by
getlogin(2) if it agrees with
the current user ID, otherwise it is the name associated with the user
ID.-b
hostaliasalias specifier) or to the address of another
interface than the one naturally chosen by
connect(2). This can be useful
when connecting to services which use IP addresses for authentication and
reconfiguration of the server is undesirable (or impossible).-ctoggle skiprc command on this man
page.)-DDISPLAY variable when it
starts with ‘:’ or ‘unix:’. By default, these
are replaced with the local hostname and a colon.-E-e
escapechartelnet escape character to
escapechar. If escapechar is
omitted, then there will be no escape character.-K-LTELNET BINARY option on output.-l
userENVIRON option, then user
will be sent to the remote system as the value for the variable USER. This
option implies the -a option. This option may also
be used with the open command.-n
tracefilenetdata or option tracing
being TRUE, will be written. If it is set to
“-”, then tracing information will
be written to standard output (the default).-rrlogin. In
this mode, the escape character is set to the tilde (~) character, unless
modified by the -e option.-V
rtabletelnet port is used.When in rlogin mode, a line of the form ~. disconnects from the remote host; ~ is the telnet escape character. Similarly, the line ~^Z suspends the telnet session. The line ~^] escapes to the normal telnet escape prompt.
Once a connection has been opened, telnet
will attempt to enable the TELNET LINEMODE option.
If this fails, telnet will revert to one of two
input modes: either “character at a time” or “old line
by line” depending on what the remote system supports.
When LINEMODE is enabled, 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 (this would mostly be used to enter passwords without the password being echoed).
If the LINEMODE option is enabled, or if
the localchars toggle is
TRUE (the default for “old line by
line”; see below), the user's quit,
intr, and flush characters
are trapped locally, and sent as TELNET protocol sequences to the remote
side. If LINEMODE has ever been enabled, then the
user's susp and eof are also
sent as TELNET protocol sequences, and quit is sent
as a TELNET ABORT instead of
BREAK. There are options (see
toggle autoflush and
toggle autosynch below)
which cause this action to flush subsequent output to the terminal (until
the remote host acknowledges the TELNET sequence) and flush previous
terminal input (in the case of quit and
intr).
While connected to a remote host, telnet
command mode may be entered by typing the telnet
escape character (initially ‘^]’). When in command mode, the
normal terminal editing conventions are available. Note that the escape
character will return to the command mode of the initial invocation of
telnet that has the controlling terminal. Use the
send escape command to switch to command mode in
subsequent telnet processes on remote hosts.
The following telnet commands are
available. Only enough of each command to uniquely identify it need be typed
(this is also true for arguments to the mode,
set, toggle,
unset, slc,
environ, and display
commands).
closedisplay
argument ...set and
toggle values (see below).environ
argument ...environ command is used to manipulate the
variables that may be sent through the TELNET
ENVIRON option. The initial set of variables is taken from the
users environment, with only the DISPLAY and
PRINTER variables being exported by default. The
USER variable is also exported if the
-a or -l options are used.
Valid arguments for the environ
command are:
define
variable valueundefine
variableexport
variableunexport
variablelist* will be sent automatically, other variables
will only be sent if explicitly requested.?environ
command.logoutTELNET 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 you should
terminate the session immediately.mode
typecharacterTELNET LINEMODE option or, if the
remote side does not understand the LINEMODE
option, then enter “character at a time” mode.lineTELNET LINEMODE option or, if the
remote side does not understand the LINEMODE
option, then attempt to enter “old line by line”
mode.isig
(-isig)TRAPSIG mode
of the LINEMODE option. This requires that the
LINEMODE option be enabled.edit
(-edit)EDIT mode of
the LINEMODE option. This requires that the
LINEMODE option be enabled.softtabs
(-softtabs)SOFT_TAB mode
of the LINEMODE option. This requires that the
LINEMODE option be enabled.litecho
(-litecho)LIT_ECHO mode
of the LINEMODE option. This requires that the
LINEMODE option be enabled.?mode
command.open
host [-a]
[-b -hostalias]
[-l user]
[[-] port]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_ntop(3)). The
-a, -b, and
-l options are equivalent to the identical command
line options, but only apply to the new telnet connection being opened.
When connecting to a non-standard port, telnet
omits any automatic initiation of TELNET options. When the port number is
preceded by a minus sign, the initial option negotiation is done. After
establishing a connection, the file .telnetrc in
the user's home directory is opened. Lines beginning with a
‘#’ are comment lines. Blank lines are ignored. Lines that
begin without whitespace are the start of a machine entry. The first thing
on the line is the name of the machine that is being connected to. The
rest of the line, and successive lines that begin with whitespace are
assumed to be telnet commands and are processed as
if they had been typed in manually to the telnet
command prompt.quittelnet. An
end-of-file (in command mode) will also close a session and exit.send
argument ...abortTELNET ABORT (Abort processes)
sequence.aoTELNET AO (Abort Output) sequence,
which should cause the remote system to flush all output
from
the remote system
to the
user's terminal.aytTELNET AYT (Are You There) sequence,
to which the remote system may or may not choose to respond.brkTELNET BRK (Break) sequence, which
may have significance to the remote system.ecTELNET EC (Erase Character)
sequence, which should cause the remote system to erase the last
character entered.elTELNET EL (Erase Line) sequence,
which should cause the remote system to erase the line currently being
entered.eofTELNET EOF (End Of File)
sequence.eorTELNET EOR (End of Record)
sequence.escapetelnet escape character
(initially ‘^]’).gaTELNET GA (Go Ahead) sequence, which
likely has no significance to the remote system.getstatusTELNET STATUS
command, getstatus will send the
subnegotiation to request that the server send its current option
status.ipTELNET IP (Interrupt Process)
sequence, which should cause the remote system to abort the currently
running process.nopTELNET NOP (No OPeration)
sequence.suspTELNET SUSP (SUSPend process)
sequence.synchTELNET SYNCH sequence. This sequence
causes the remote system to discard all previously typed (but not yet
read) input. This sequence is sent as TCP urgent data (and may not
work if the remote system is a 4.2BSD system
— if it doesn't work, a lower case ‘r’ may be
echoed on the terminal).do
cmdTELNET DO cmd
sequence. cmd can be either a decimal number
between 0 and 255, or a symbolic name for a specific TELNET command.
cmd can also be either
help or ? to print out
help information, including a list of known symbolic names.dont
cmdTELNET DONT
cmd sequence. cmd can be
either a decimal number between 0 and 255, or a symbolic name for a
specific TELNET command. cmd can also be either
help or ? to print out
help information, including a list of known symbolic names.will
cmdTELNET WILL
cmd sequence. cmd can be
either a decimal number between 0 and 255, or a symbolic name for a
specific TELNET command. cmd can also be either
help or ? to print out
help information, including a list of known symbolic names.wont
cmdTELNET WONT
cmd sequence. cmd can be
either a decimal number between 0 and 255, or a symbolic name for a
specific TELNET command. cmd can also be either
help or ? to print out
help information, including a list of known symbolic names.?send
command.set
argument valueunset
argument valueset command will set any one of a number of
telnet variables to a specific value or to
TRUE. The special value
off turns off the function associated with the
variable; this is equivalent to using the unset
command. The unset command will disable or set to
FALSE any of the specified functions. The values
of variables may be interrogated with the display
command. The variables which may be set or unset, but not toggled, are
listed here. In addition, any of the variables for the
toggle command may be explicitly set or unset
using the set and unset
commands.
aytlocalchars mode, or
LINEMODE is enabled, and the status character
is typed, a TELNET AYT sequence (see
send ayt preceding) is sent to the remote
host. The initial value for the "Are You There" character is
the terminal's status character.echoeoftelnet is operating in
LINEMODE or “old line by line”
mode, entering this character as the first character on a line will
cause this character to be sent to the remote system. The initial
value of the eof character is taken to be the
terminal's eof character.erasetelnet is in
localchars mode (see
toggle localchars
below), and if telnet is operating in
“character at a time” mode, then when this character is
typed, a TELNET EC sequence (see
send ec above) is sent
to the remote system. The initial value for the
erase character is taken to be the terminal's
erase character.escapetelnet escape character (initially
‘^[’) which causes entry into
telnet command mode (when connected to a
remote system).flushoutputtelnet is in
localchars mode (see
toggle localchars
below) and the flushoutput character is typed,
a TELNET AO sequence (see
send ao above) is sent
to the remote host. The initial value for the
flush character is taken to be the terminal's
flush character.forw1forw2LINEMODE, these are
the characters that, when typed, cause partial lines to be forwarded
to the remote system. The initial value for the forwarding characters
are taken from the terminal's eol and eol2 characters.interrupttelnet is in
localchars mode (see
toggle localchars
below) and the interrupt character is typed, a
TELNET IP sequence (see
send ip above) is sent
to the remote host. The initial value for the
interrupt character is taken to be the
terminal's intr character.killtelnet is in
localchars mode (see
toggle localchars
below), and if telnet is operating in
“character at a time” mode, then when this character is
typed, a TELNET EL sequence (see
send el above) is sent
to the remote system. The initial value for the
kill character is taken to be the terminal's
kill character.lnexttelnet is operating in
LINEMODE or “old line by line”
mode, then this character is taken to be the terminal's
lnext character. The initial value for the
lnext character is taken to be the terminal's
lnext character.quittelnet is in
localchars mode (see
toggle localchars
below) and the quit character is typed, a
TELNET BRK sequence (see
send brk above) is
sent to the remote host. The initial value for the
quit character is taken to be the terminal's
quit character.reprinttelnet is operating in
LINEMODE or “old line by line”
mode, then this character is taken to be the terminal's
reprint character. The initial value for the
reprint character is taken to be the
terminal's reprint character.rlogintelnet command. The initial
state is to disable the rlogin escape
character.startTELNET TOGGLE-FLOW-CONTROL option has
been enabled, then this character is taken to be the terminal's
start character. The initial value for the
start character is taken to be the terminal's
start character.stopTELNET TOGGLE-FLOW-CONTROL option has
been enabled, then this character is taken to be the terminal's
stop character. The initial value for the
stop character is taken to be the terminal's
stop character.susptelnet 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.worderasetelnet 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.?set
(unset) commands.slc
stateslc command (Set Local Characters) is used to
set or change the state of the 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.
checkexporttelnet was started.import?slc
command.statustelnet. This includes
the peer one is connected to, as well as the current mode.toggle
argument ...TRUE and
FALSE) various flags that control how
telnet responds to events. These flags may be set
explicitly to TRUE or
FALSE using the set and
unset commands listed above. More than one
argument may be specified. The state of these flags may be interrogated
with the display command. Valid arguments are:
autoflushautoflush and
localchars are both
TRUE, then when the ao
or quit characters are recognized (and
transformed into TELNET sequences; see set
above for details), telnet refuses to display
any data on the user's terminal until the remote system acknowledges
(via a TELNET TIMING MARK option) that it has
processed those TELNET sequences. The initial value for this toggle is
TRUE if the terminal user had not done an
"stty noflsh", otherwise FALSE (see
stty(1)).autologinTELNET ENVIRON option. This command is the
same as specifying a option on the
open command.autosynchautosynch and
localchars are both
TRUE, then when either the
intr or quit character
is typed (see set above for descriptions of
the intr and quit
characters), 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.binaryTELNET BINARY option on
both input and output.inbinaryTELNET BINARY option on
input.outbinaryTELNET BINARY option on
output.crlfTRUE, then carriage returns will be
sent as <CR><LF>. If this is
FALSE, then carriage returns will be sent as
<CR><NUL>. The initial value for
this toggle is FALSE.crmodFALSE.localcharsTRUE, then the
flush, interrupt,
quit, erase, and
kill characters (see
set above) are recognized locally, and
transformed into (hopefully) appropriate TELNET control sequences
(respectively ao, ip,
brk, ec, and
el; see send above).
The initial value for this toggle is TRUE in
“old 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 to
always 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).netdataFALSE.optionstelnet
protocol processing (having to do with TELNET options). The initial
value for this toggle is FALSE.prettydumpnetdata 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, and the beginning of any TELNET escape sequence is preceded by
a '*' to aid in locating them.skiprcTRUE, 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.termdataFALSE.?toggle commands.ztelnet. This command only works when the
user is using a shell with job control enabled.?
[command]telnet prints a help
summary. If a command is specified, telnet will
print the help information for just that command.telnet uses at least the
HOME, DISPLAY, and
TERM environment variables. Other environment
variables may be propagated to the other side via the
TELNET ENVIRON option.
The telnet command appeared in
4.2BSD.
On some remote systems, echo has to be turned off manually when in “old 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.
| January 16, 2020 | openbsd |