Telnet & SSH
- 원격 접속을 위한 프로토콜
- 원격 로그인에서 사용
- 다른 컴퓨터 앞에 직접 가지 않더라도 네트워크로 연결되어 멀리 떨어진 컴퓨터에도 로그인할 수 있음
Telnet (텔넷)
: 안전하지 않은 원격 접속 프로토콜
- TCP 커넥션 하나를 이용해 원격 컴퓨터에 로그인하고, 사용자의 입력이 상대방 컴퓨터로 전송되어 실행됨

- Telnet 덕분에 네트워크 관리자들은 물리적으로 떨어져있는 (라우터나 스위치 같은) 장치에 직접 가지 않고 사무실에서 로그인해 네트워크 설정을 할 수 있음
- Telnet은 로그인 시 비밀번호가 암호화 되지 않고 그대로 전송됨
→ 중간에서 해킹 위험 O
⇒ 이 문제를 해결하기 위해 SSH가 개발됨
- 요즘은 Telnet은 거의 사용하지 않음 (SSH를 주로 사용)
SSH (Secure Shell)
: 안전한 원격 접속 프로토콜
- 원격 접속 애플리케이션
- Telnet과 같은 기능을 하지만, 모든 데이터를 암호화함
- 데이터를 암호화 해서 전송하기 때문에 중간에서 해킹이 어려움

- Key를 이용해 로그인할 수 있음
SSH의 동작 방식
- 멀리 있는 컴퓨터에 접속하기 위해 사용자 컴퓨터에 두 개의 Key를 생성함
- Private Key: 외부에 절대 공개되면 안되는 키
- 암호화 된 데이터를 복호화할 수 있음
- 사용자의 컴퓨터에만 저장되어야 함
- Public Key: 외부에 공개되어도 되는 키
- 데이터를 암호화할 수 있음
- Private Key: 외부에 절대 공개되면 안되는 키
- 멀리 있는 컴퓨터에 Public Key를 알려줌
- 사용자 컴퓨터에서 멀리 있는 컴퓨터에 Key를 이용해 로그인을 시도하면, 멀리 있는 컴퓨터는 랜덤 문자열을 Public Key를 이용해 암호화하고 사용자에게 전송함

- 사용자가 올바른 Private Key를 갖고 있다면, 이 암호화 된 메시지를 복호화할 수 있음
- 복호화 한 메시지를 다시 멀리 있는 컴퓨터에 전송하고, 복호화 된 문자열이 암호화 전 문자열과 같으면 인증이 완료됨

