Bandit 워게임은 대부분 SSH 접속을 통해 원격 서버에 로그인한 뒤 문제를 해결하는 방식으로 진행된다.
처음 접했을 때 접속이라는 표현이 좀 추상적으로 느껴졌는데, 핵심은 내 컴퓨터가 아닌 다른 컴퓨터를 조작하는 상태라는 것이다.
SSH란?
SSH(Secure Shell)는 네트워크를 통해 원격 서버에 안전하게 로그인하고 명령어를 실행할 수 있게 해주는 암호화 통신 프로토콜이다.
즉, 내 터미널을 그대로 사용하지만 실제로는 서버의 CPU와 파일 시스템을 사용하게 된다.
접속의 의미
SSH로 접속하면 다음 과정이 내부적으로 발생한다.
- 호스트 주소가 IP로 변환된다 (DNS)
- 해당 서버의 특정 포트(port)로 네트워크 연결을 시도한다
- SSH 프로토콜로 암호화된 통신이 시작된다
- 사용자 인증(비밀번호 또는 키)을 수행한다
- 서버의 쉘(shell)을 할당받는다
이 순간부터 터미널은 로컬 환경이 아니라 원격 서버 환경이 된다.
예를 들어 프롬프트가 이렇게 바뀐다면:

현재 명령을 실행하는 주체가 서버라는 의미이다.
다음과 같이 hostname라는 명령어를 사용했을 때

이렇게 서버 이름이 출력된다면 원격 환경이다.
SSH 기본 명령어
명령어 구조
ssh [옵션] 사용자명@호스트주소
Bandit 접속 예시
ssh -p 2220 bandit0@bandit.labs.overthewire.org
-p: 사용할 포트 지정- 포트를 생략하면 기본값 22번을 사용한다.
포트(port)란?
IP가 건물 주소라면 포트는 호실 번호에 가깝다.
하나의 서버에서도 여러 서비스가 동시에 동작할 수 있다.
예시:
- 22 → SSH
- 80 → HTTP
- 443 → HTTPS
Bandit은 기본 SSH 포트가 아닌 2220번 포트를 사용한다고 문제에 명시되어있다.
접속 후 달라지는 점
- 서버 파일 시스템에 접근
- 서버의 권한 체계를 따름
- 서버 CPU에서 명령이 실행됨
- 로컬 환경과 파일이 공유되지 않음
다시 말해 내 컴퓨터를 사용하는 것이 아니다.
'CS > 운영체제' 카테고리의 다른 글
| cat 명령어와 바이너리 파일: ASCII text vs data 파일의 차이 (0) | 2026.02.06 |
|---|---|
| 공백이 포함된 파일명 여는 방법 (0) | 2026.02.06 |
| -로 시작하는 파일명 여는 방법 (0) | 2026.02.06 |
