Chapter 20 Remote Login: TELNET and SSH TCP/IP Protocol Suite Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 OBJECTIVES: To introduce the TELNET protocol and show how it implements local and remote login. To discuss options and sub-options used in TELNET and how they are negotiated. To define out-of-band signaling in TELNET. To define different modes of operations in TELNET. To introduce SSH as an alternative to TELNET. To show how different components of SSH are combined to provide a secure connection over an insecure TCP connection. To discuss port-forwarding in SSH and how it can be used to provide security for other applications. TCP/IP Protocol Suite 2 Chapter Outline TCP/IP Protocol Suite 20.1 TELNET 20.2 Secure Shell (SSH) 3 20-1 TELNET TELNET is an abbreviation for TErminaL NETwork. It is the standard TCP/IP protocol for virtual terminal service as proposed by ISO. TELNET enables the establishment of a connection to a remote system in such a way that the local terminal appears to be a terminal at the remote system. TCP/IP Protocol Suite 4 Topics Discussed in the Section Concepts Time-Sharing Environment Network Virtual Terminal (NVT) Embedding Options and Suboption Negotiation Controlling the Server Out-of-Band Signaling Escape Character Modes of Operation User Interface Security Issue TCP/IP Protocol Suite 5 Note TELNET is a general-purpose client-server application program. TCP/IP Protocol Suite 6 Figure 20.1 TCP/IP Protocol Suite Local login 7 Figure 20.2 TCP/IP Protocol Suite Remote login 8 Figure 20.3 TCP/IP Protocol Suite Concept of NVT 9 Figure 20.4 TCP/IP Protocol Suite Format of data and control characters 10 TCP/IP Protocol Suite 11 Figure 20.5 c TCP/IP Protocol Suite a An example of embedding t f i l e a IAC EC 1 12 TCP/IP Protocol Suite 13 TCP/IP Protocol Suite 14 Figure 20.6 Offer to enable an option WILL Will I enable the option? DO or DONT Do (or don’t) enable the option TCP/IP Protocol Suite 15 Figure 20.7 Request to enable an option DO Do enable the option WILL or WONT I will (won’t) enable the option TCP/IP Protocol Suite 16 Figure 20.8 Offer to disable an option WONT I won’t use the option any more DONT Don’t use it TCP/IP Protocol Suite 17 Figure 20.9 Request to disable an option DONT Don’t use the option any more WONT I won’t TCP/IP Protocol Suite 18 Example 20.1 Figure 20.10 shows an example of option negotiation. In this example, the client wants the serverto echo each character sent to the server. In other words, when a character is typed at the user keyboard terminal, it goes to the server and is sent back to the screen of the user before being processed. The echo option is enabled by the server because it is the server that sends the characters back to the user terminal. Therefore, the client should request from the server the enabling of the option using DO. The request consists of three characters: IAC, DO, and ECHO. The server accepts the request and enables the option. It informs the client by sending the three-character approval: IAC, WILL, and ECHO. TCP/IP Protocol Suite 19 Figure 20.10 Example 20.1: Echo option Do enable the echo option 1 ECHO DO IAC WILL IAC ECHO I will enable the echo option TCP/IP Protocol Suite 2 20 TCP/IP Protocol Suite 21 Figure 20.11 Example of sub-option negotiation I will enable the terminal option 1 Terminal type WILL IAC Do enable terminal option IAC DO 2 Terminal type Set the terminal type to “VT” 3 SE TCP/IP Protocol Suite IAC ‘T’ ‘V’ Terminal type SB IAC 22 TCP/IP Protocol Suite 23 Figure 20.12 TCP/IP Protocol Suite Example of interrupting an application program 24 Figure 20.13 Out-of-band signaling Data Kept DM IP IAC Data Discarded Urgent pointer TCP/IP Protocol Suite 25 Figure 20.14 TCP/IP Protocol Suite Two different interruptions 26 Example 20.2 In this example, we use the default mode to show the concept and its deficiencies even though it is almost obsolete today. The client and the server negotiate the terminal type and terminal speed and then the server checks the login and password of the user (see Figure 20.15). TCP/IP Protocol Suite 27 Figure 20.15 Example 20.2 GO AHEAD 2 5 9 12 WILL TERMINAL TYPE DO TERMINAL TYPE 3 GO AHEAD 4 WILL TERMINAL SPEED DONT TERMINAL SPEED 6 Login: 7 GO AHEAD 8 forouzan Password: 10 GO AHEAD 11 XXXXX GO AHEAD 14 TCP/IP Protocol Suite 1 13 cp file1 file2 28 Example 20.3 In this example, we show how the client switches to the character mode. This requires that the client request the server to enable the SUPPRESS GO AHEAD and ECHO options (see Figure 20.16). TCP/IP Protocol Suite 29 Figure 20.16 Example 20.3 GO AHEAD 2 DO SUPPRESS GO AHEAD WILL SUPPRESS GO AHEAD 4 7 WILL ECHO 5 Login: 6 f 8 o o TCP/IP Protocol Suite 3 DO ECHO f 9 1 10 30 TCP/IP Protocol Suite 31 20-2 SECURE SHELL (SSH) Another popular remote login application program is Secure Shell (SSH). SSH, like TELNET, uses TCP as the underlying transport protocol, but SSH is more secure and provides more services than TELNET. TCP/IP Protocol Suite 32 Topics Discussed in the Section Versions Components Port Forwarding Format of the SSH Packet TCP/IP Protocol Suite 33 Figure 20.17 TCP/IP Protocol Suite Components of SSH 34 Figure 20.18 TCP/IP Protocol Suite Port forwarding 35 Figure 20.19 TCP/IP Protocol Suite SSH packet format 36