Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TELNETD(8)		     System Manager's Manual		      TELNETD(8)

NAME
     telnetd -- DARPA TELNET protocol server

SYNOPSIS
     /usr/local/libexec/telnetd [-46BUhlkn] [-D debugmode] [-S tos]
				[-X authtype] [-a authmode] [-edebug]
				[-p loginprog] [-u len] [-debug [port]]

DESCRIPTION
     The  telnetd  command  is a server which supports the DARPA standard TELNET
     virtual terminal protocol.  Telnetd is normally  invoked  by  the	internet
     server  (see  inetd(8)) for requests to connect to the TELNET port as indi-
     cated by the /etc/services file (see services(5)).  The -debug  option  may
     be  used  to  start  up  telnetd manually, instead of through inetd(8).  If
     started up this way, port may be specified to run telnetd on  an  alternate
     TCP port number.

     The telnetd command accepts the following options:

     -4      Forces telnetd to use IPv4 addresses only.

     -6      Forces telnetd to use IPv6 addresses only.

     -a authmode
	     This option may be used for specifying what mode should be used for
	     authentication.   Note  that  this option is only useful if telnetd
	     has been compiled	with  support  for  the  AUTHENTICATION  option.
	     There are several valid values for authmode:

	     debug  Turn on authentication debugging code.

	     user   Only  allow  connections  when  the  remote user can provide
		    valid authentication  information  to  identify  the  remote
		    user, and is allowed access to the specified account without
		    providing a password.

	     valid  Only  allow  connections  when  the  remote user can provide
		    valid authentication  information  to  identify  the  remote
		    user.  The login(1) command will provide any additional user
		    verification  needed if the remote user is not allowed auto-
		    matic access to the specified account.

	     other  Only allow connections that supply some  authentication  in-
		    formation.	This option is currently not supported by any of
		    the existing authentication mechanisms, and is thus the same
		    as specifying -a valid.

	     none   This  is  the  default state.  Authentication information is
		    not required.  If no or insufficient authentication informa-
		    tion is provided, then the login(1) program will provide the
		    necessary user verification.

	     off    Disable the authentication code.  All user verification will
		    happen through the login(1) program.

     -B      Specify bftp server mode.	In this mode, telnetd  causes  login  to
	     start  a  bftp(1)	session rather than the user's normal shell.  In
	     bftp daemon mode normal logins are not supported, and  it	must  be
	     used on a port other than the normal TELNET port.

     -D debugmode
	     This  option  may	be  used  for  debugging  purposes.  This allows
	     telnetd to print out debugging information to the	connection,  al-
	     lowing  the  user	to see what telnetd is doing.  There are several
	     possible values for debugmode:

	     options   Print information about the  negotiation  of  TELNET  op-
		       tions.

	     report    Print  the  options information, plus some additional in-
		       formation about what processing is going on.

	     netdata   Display the data stream received by telnetd.

	     ptydata   Display data written to the pty.

	     exercise  Has not been implemented yet.

     -debug  Enable debugging on each socket created by telnetd (see SO_DEBUG in
	     socket(2)).

     -edebug
	     If telnetd has been compiled with support for data encryption, then
	     the -edebug option may be used to enable encryption debugging code.

     -h      Disable the printing of host-specific information before login  has
	     been completed.

     -k      This  option  is only useful if telnetd has been compiled with both
	     linemode and kludge linemode support.  If the -k option  is  speci-
	     fied,  then  if the remote client does not support the LINEMODE op-
	     tion, then telnetd will operate in character at a	time  mode.   It
	     will  still  support  kludge linemode, but will only go into kludge
	     linemode if the remote client requests it.  (This is  done  by  the
	     client  sending  DONT SUPPRESS-GO-AHEAD and DONT ECHO.)  The -k op-
	     tion is most useful when there are remote clients that do not  sup-
	     port  kludge linemode, but pass the heuristic (if they respond with
	     WILL TIMING-MARK in  response  to	a  DO  TIMING-MARK)  for  kludge
	     linemode support.

     -l      Specify  line  mode.   Try  to  force clients to use line-at-a-time
	     mode.  If the LINEMODE option is not supported,  it  will	go  into
	     kludge linemode.

     -n      Disable  TCP  keep-alives.   Normally telnetd enables the TCP keep-
	     alive mechanism to probe connections that have been idle  for  some
	     period  of  time to determine if the client is still there, so that
	     idle connections from machines that have crashed or can  no  longer
	     be reached may be cleaned up.

     -p loginprog
	     Specify an alternate login(1) command to run to complete the login.
	     The alternate command must understand the same command arguments as
	     the standard login.

     -S tos  Sets  the IP type-of-service (TOS) option for the telnet connection
	     to the value tos, which can be a numeric TOS value or,  on  systems
	     that support it, a symbolic TOS name found in the /etc/iptos file.

     -u len  This  option  is  used to specify the size of the field in the utmp
	     structure that holds the remote host name.  If  the  resolved  host
	     name  is longer than len, the dotted decimal value will be used in-
	     stead.  This allows hosts with very long host names  that	overflow
	     this  field  to still be uniquely identified.  Specifying -u0 indi-
	     cates that only dotted decimal addresses should  be  put  into  the
	     utmp file.

     -U      This  option  causes  telnetd  to refuse connections from addresses
	     that cannot be mapped back into a symbolic name  via  the	gethost-
	     byaddr(3) routine.

     -X authtype
	     This  option  is  only valid if telnetd has been built with support
	     for the authentication option.  It disables the use of authtype au-
	     thentication, and can be used to temporarily disable a specific au-
	     thentication type without having to recompile  telnetd.   Available
	     authtype  values  include	KERBEROS_V4, KERBEROS_V5, SPX, MINK, and
	     SRA.  These options are completely independent of the -a option.

     Telnetd operates by allocating a pseudo-terminal device (see pty(4)) for  a
     client,  then  creating  a  login	process  which has the slave side of the
     pseudo-terminal as stdin, stdout and stderr.  Telnetd manipulates the  mas-
     ter side of the pseudo-terminal, implementing the TELNET protocol and pass-
     ing characters between the remote client and the login process.

     When  a  TELNET  session is started up, telnetd sends TELNET options to the
     client side indicating a willingness to do the  following	TELNET	options,
     which are described in more detail below:

	   DO AUTHENTICATION
	   WILL ENCRYPT
	   DO TERMINAL TYPE
	   DO TSPEED
	   DO XDISPLOC
	   DO NEW-ENVIRON
	   DO ENVIRON
	   WILL SUPPRESS GO AHEAD
	   DO ECHO
	   DO LINEMODE
	   DO NAWS
	   WILL STATUS
	   DO LFLOW
	   DO TIMING-MARK

     The  pseudo-terminal  allocated  to  the client is configured to operate in
     "cooked" mode, and with XTABS and CRMOD enabled (see tty(4)).

     Telnetd has support for enabling locally the following TELNET options:

     WILL ECHO		When the LINEMODE option is enabled, a WILL ECHO or WONT
			ECHO will be sent to the client to indicate the  current
			state  of  terminal  echoing.  When terminal echo is not
			desired, a WILL ECHO is sent to  indicate  that  telnetd
			will  take  care  of  echoing  any data that needs to be
			echoed to the terminal,  and  then  nothing  is  echoed.
			When  terminal	echo  is desired, a WONT ECHO is sent to
			indicate that telnetd will not	be  doing  any	terminal
			echoing,  so  the  client should do any terminal echoing
			that is needed.

     WILL BINARY	Indicate that the client is willing to send a 8 bits  of
			data,  rather than the normal 7 bits of the Network Vir-
			tual Terminal.

     WILL SGA		Indicate that it will not be sending IAC GA,  go  ahead,
			commands.

     WILL STATUS	Indicate a willingness to send the client, upon request,
			of the current status of all TELNET options.

     WILL TIMING-MARK	Whenever a DO TIMING-MARK command is received, it is al-
			ways responded to with a WILL TIMING-MARK.

     WILL LOGOUT	When  a  DO LOGOUT is received, a WILL LOGOUT is sent in
			response, and the TELNET session is shut down.

     WILL ENCRYPT	Only sent if telnetd is compiled with support  for  data
			encryption,  and  indicates a willingness to decrypt the
			data stream.

     Telnetd has support for enabling remotely the following TELNET options:

     DO BINARY		Sent to indicate that telnetd is willing to receive an 8
			bit data stream.

     DO LFLOW		Requests that the client handle flow control  characters
			remotely.

     DO ECHO		This  is not really supported, but is sent to identify a
			4.2BSD telnet(1) client, which will  improperly  respond
			with WILL ECHO.  If a WILL ECHO is received, a DONT ECHO
			will be sent in response.

     DO TERMINAL-TYPE	Indicate  a desire to be able to request the name of the
			type of terminal that is attached to the client side  of
			the connection.

     DO SGA		Indicate that it does not need to receive IAC GA, the go
			ahead command.

     DO NAWS		Requests that the client inform the server when the win-
			dow (display) size changes.

     DO TERMINAL-SPEED	Indicate  a  desire  to  be  able to request information
			about the speed of the serial line to which  the  client
			is attached.

     DO XDISPLOC	Indicate  a desire to be able to request the name of the
			X Window System display that is associated with the tel-
			net client.

     DO NEW-ENVIRON	Indicate a desire to  be  able	to  request  environment
			variable information, as described in RFC 1572.

     DO ENVIRON 	Indicate  a  desire  to  be  able to request environment
			variable information, as described in RFC 1408.

     DO LINEMODE	Only sent  if  telnetd	is  compiled  with  support  for
			linemode,  and	requests that the client do line by line
			processing.

     DO TIMING-MARK	Only sent if telnetd is compiled with support  for  both
			linemode  and  kludge linemode, and the client responded
			with WONT LINEMODE.  If the client  responds  with  WILL
			TM,  the  it  is assumed that the client supports kludge
			linemode.  Note that the [-k] option can be used to dis-
			able this.

     DO AUTHENTICATION	Only sent if telnetd is compiled with  support	for  au-
			thentication, and indicates a willingness to receive au-
			thentication information for automatic login.

     DO ENCRYPT 	Only  sent  if telnetd is compiled with support for data
			encryption, and indicates a willingness to  decrypt  the
			data stream.

NOTES
     By  default  telnetd  will  read  the  he,  hn,  and  im  capabilities from
     /etc/gettytab and use that information (if present) to  determine	what  to
     display  before  the  login:  prompt.   You  can  also use a System V style
     /etc/issue file by using the if capability, which will  override  im.   The
     information  specified in either im or if will be displayed to both console
     and remote logins.

FILES
     /etc/services
     /etc/gettytab
     /etc/iptos     (if supported)
     /usr/ucb/bftp  (if supported)

SEE ALSO
     bftp(1), login(1), telnet(1) (if supported), gettytab(5)

STANDARDS
     RFC-854   TELNET PROTOCOL SPECIFICATION
     RFC-855   TELNET OPTION SPECIFICATIONS
     RFC-856   TELNET BINARY TRANSMISSION
     RFC-857   TELNET ECHO OPTION
     RFC-858   TELNET SUPPRESS GO AHEAD OPTION
     RFC-859   TELNET STATUS OPTION
     RFC-860   TELNET TIMING MARK OPTION
     RFC-861   TELNET EXTENDED OPTIONS - LIST OPTION
     RFC-885   TELNET END OF RECORD OPTION
     RFC-1073  Telnet Window Size Option
     RFC-1079  Telnet Terminal Speed Option
     RFC-1091  Telnet Terminal-Type Option
     RFC-1096  Telnet X Display Location Option
     RFC-1123  Requirements for Internet Hosts -- Application and Support
     RFC-1184  Telnet Linemode Option
     RFC-1372  Telnet Remote Flow Control Option
     RFC-1416  Telnet Authentication Option
     RFC-1411  Telnet Authentication: Kerberos Version 4
     RFC-1412  Telnet Authentication: SPX
     RFC-1571  Telnet Environment Option Interoperability Issues
     RFC-1572  Telnet Environment Option

HISTORY
     IPv6 support was added by WIDE/KAME project.

BUGS
     Some TELNET commands are only partially implemented.

     Because of bugs in the original 4.2BSD telnet(1), telnetd performs some du-
     bious protocol exchanges to try to discover if the  remote  client  is,  in
     fact, a 4.2BSD telnet(1).

     Binary  mode  has no common interpretation except between similar operating
     systems (Unix in this case).

     The terminal type name received from the  remote  client  is  converted  to
     lower case.

     Telnetd never sends TELNET IAC GA (go ahead) commands.

FreeBSD ports 15.1		  March 5, 2025 		      TELNETD(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=telnetd&sektion=8&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help