[컴퓨터망] 20. TELNET과 SSH

서정윤·2022년 7월 8일
0

컴퓨터망

목록 보기
4/7

SSH는 연구실 컴퓨터를 쓰기 위해 접근해본 적이 있지 후훗

1. TELNET

telnet 은 terminal network의 줄임말로 local에서 remote system에 대한 connection을 가능하게 한다.

TELNET is a general-purpose client-server application program

Time-Sharing Environment

TELNET은 한 컴퓨터에서 Time-sharing 기법을 통해 multiple user를 상대한다.

User는 TELNET을 통해 원격으로 컴퓨터를 사용하기 위해, ID와 password로 로그인 해야한다.

Local Login

user가 local time-sharing system에 접속할 때, local login이라고 부른다.
터미널에 로그인 정보를 입력하면 Terminal driver에 의해 OS에 전달된다. 그러면 application protram이나 utility에 접근 가능하게 된다.

Remote Login

remote computer에 있는 application program이나 utility에 접근하고싶다면, remote login을 해야한다.
여기에 TELNET client/server program이 쓰인다.

  1. user가 로그인 정보를 입력하면, terminal driver를 통해 TELNET client에 전달된다.
  2. local OS는 이 정보를 받긴 하지만 해석은 하지 않는다.
  3. 정보들은 TELNET client로 간 후 NVT(Network Virtual Terminal) characters라 불리는 universal character로 바뀐다.
  4. NVTform을 가진 정보들이 local TCP/IP stack에 전달된다.
  5. NVTform을 가진 정보들이 Internet을 통해 remote machine의 TCP/IP stack에 전달된다.
  6. TELNET server를 통과하여 remote computer가 이해할 수 있는 문자로 바뀐다.
  7. 정보들이 remote computer의 OS에 전달되기 전에, OS는 이를 바로 이해할 수 없으므로 Pseudoterminal driver를 거친다.
  8. remote computer의 OS가 해당 정보를 적절한 application program에 전달한다.

Concept of NVT

어느 remote computer에든 접근하기 위해서는, 그 어떤 타입의 computer가 연결되는지 알고 그 컴퓨터가 사용하는 terminal emulator를 설치해야 한다.
TELNET에서는 이를 NVT(Network Virtual Terminal)라 하는 보편적인 interface를 사용하여 해결한다.

NVT는 local computer의 character set을 NVT character set으로 변환하여 전송한 후, remote computer에서 사용하는 character set의 형태로 변환한다.

NVT character set

NVT는 data/control을 위한 character set을 각각 가진다. 둘 다 8bit

Format of data and control characters

  • Data characters
    NVT는 NVT ASCII라 불리는 것을 사용한다. Highest order bit는 0으로 설정된다.
  • Control characters
    Control character를 보내기 위해서 8bit를 사용한다. Highest order bit는 1로 설정된다. 아래는 control character의 리스트다.

Embedding

TELNET은 TCP기반의 연결을 가지고, well-known port번호 23을 사용한다

TELNET은 Control 정보와 data를 보낼때 같은 connection을 사용한다.

user가 cat file1이라고 입력하고 싶었는데,
cat filea 라고 잘못 입력해서 backspace한 후
cat filea<backspace>1하면 아래와같이 character가 전송된다.

여기서 IAC는 Interpret as control의 약자로 특별한 control character는 IAC 뒤에 따라간다.

Options

Offer to Enable

Offer to enable an option

Request to enable

Request to enable an option

Offer to disable

Offer to disable an option

Request to disable

Request to disable an option

Echo option

client가 DO를 ECHO했더니 server가 WILL을 ECHO함.
따라서 ECHO, DO, IAC 세 메세지가 서버에 잘 전달된 것을 알 수 있다.

User Interface

Examples of interface commands

2. Secure Shell (SSH)

요즘 많이 쓰는 remote login application program이다.
나도 써봤다
underlying transport protocol로 TCP를 쓴다.
TELNET보다 더 안전하고 많은 서비스를 제공한다.

0개의 댓글