All'alba vincerò

At dawn, I will win!

CS/네트워크

TCP/IP (5): Telnet, SSH - 원격 접속 프로토콜

나디아 Nadia 2025. 6. 17. 14:50

Telnet & SSH

  • 원격 접속을 위한 프로토콜
    • 원격 로그인에서 사용
  • 다른 컴퓨터 앞에 직접 가지 않더라도 네트워크로 연결되어 멀리 떨어진 컴퓨터에도 로그인할 수 있음

 

 

 

Telnet (텔넷)

: 안전하지 않은 원격 접속 프로토콜

  • TCP 커넥션 하나를 이용해 원격 컴퓨터에 로그인하고, 사용자의 입력이 상대방 컴퓨터로 전송되어 실행됨
  • Telnet 덕분에 네트워크 관리자들은 물리적으로 떨어져있는 (라우터나 스위치 같은) 장치에 직접 가지 않고 사무실에서 로그인해 네트워크 설정을 할 수 있음

  • Telnet은 로그인 시 비밀번호가 암호화 되지 않고 그대로 전송됨
    중간에서 해킹 위험 O
    ⇒ 이 문제를 해결하기 위해 SSH가 개발
  • 요즘은 Telnet은 거의 사용하지 않음 (SSH를 주로 사용)

 

 

 

SSH (Secure Shell)

: 안전한 원격 접속 프로토콜

  • 원격 접속 애플리케이션
  • Telnet과 같은 기능을 하지만, 모든 데이터를 암호화함
  • 데이터를 암호화 해서 전송하기 때문에 중간에서 해킹이 어려움
  • Key를 이용해 로그인할 수 있음

 

 

 

SSH의 동작 방식

  1. 멀리 있는 컴퓨터에 접속하기 위해 사용자 컴퓨터에 두 개의 Key를 생성함
    • Private Key: 외부에 절대 공개되면 안되는 키
      • 암호화 된 데이터를 복호화할 수 있음
      • 사용자의 컴퓨터에만 저장되어야 함
    • Public Key: 외부에 공개되어도 되는 키
      • 데이터를 암호화할 수 있음
  2. 멀리 있는 컴퓨터에 Public Key를 알려줌
  3. 사용자 컴퓨터에서 멀리 있는 컴퓨터에 Key를 이용해 로그인을 시도하면, 멀리 있는 컴퓨터는 랜덤 문자열을 Public Key를 이용해 암호화하사용자에게 전송
  4. 사용자가 올바른 Private Key를 갖고 있다면, 이 암호화 된 메시지를 복호화할 수 있음
  5. 복호화 한 메시지를 다시 멀리 있는 컴퓨터에 전송하고, 복호화 된 문자열이 암호화 전 문자열과 같으면 인증이 완료