Journey to Security/네트워크

[Cisco IOS] 스위치/라우터에 SSH 서비스 설정하기

보눔비스타 2026. 3. 16. 02:18

Cisco 스위치/라우터에서 SSH version 2를 활성화하고 정상적으로 구동하려면 장비가 "누가 접속할 것이며, 어떻게 인증할 것인가?"에 대한 최소한의 보안 체계를 먼저 갖추고 있어야 한다.

 

L2 스위치 기준 SSH 설정 순서는 다음과 같다. 

-------------------

conf t

 hostname SW1  

 enable secret cisco
 username admin secret cisco
 ip domain-name hellohihello.net
 
 ! RSA 키 생성 (창이 뜨면 2048 입력)
 crypto key generate rsa
 
 ip ssh version 2
 
 ! 관리용 IP (이미 설정했다면 생략 가능)
 int vlan 1
  ip add 192.168.100.131 255.255.255.0
  no sh
 exit

 line vty 0 4
  login local
  transport input ssh
 end

 ! 설정 저장
 write memory

------------------------

 

1. SSH는 '계정' 없이는 작동하지 않는다

텔넷(Telnet)은 비밀번호 하나만으로 접속이 가능하지만, SSH는 반드시 [ID + Password] 조합이 필요하다.

  • 만약 username 설정을 하지 않은 상태에서 SSH를 활성화하려고 하면, 스위치는 나중에 누가 접속하려 할 때 누구랑 대조해야 하는지 모르는 모순이 생긴다.
  • 따라서 인증 대상(Local Database)을 먼저 생성해 두는 것이 논리적인 순서다.

2. RSA 키 생성과의 연관성

명령어의 흐름을 다시 보면 username 설정 이후에 crypto key generate rsa를 실행한다.

  • SSH 버전 2(ip ssh version 2)를 입력하기 위해서는 반드시 RSA 키가 먼저 생성되어 있어야 한다. (키가 없으면 버전 2 명령 자체가 거부됩니다.)
  • RSA 키를 만들려면 장비의 Identity(Hostname + Domain-name)가 필요한데, 이 'Identity'를 정의하는 단계에서 관리자 계정(username)을 함께 세팅하는 것이 관례적인 보안 베이스라인 구축 순서다.

만약 ip ssh version 2를 먼저 입력하려고 하면 스위치는 다음과 같은 에러 메시지를 띄울 수 있다:

Please create RSA keys to enable SSH.

 

그런데 RSA 키를 만들려면 도메인이 있어야 하고, 도메인을 넣고 키를 만든 후 접속하려고 하면 결국 username이 없어서 로그인이 안 된다.

즉, 접속 환경을 다 만들어놓고 정작 문을 열 열쇠(계정)가 없는 상황을 방지하기 위해 계정 생성을 가장 앞단에 배치하는 것이다.

 

🛠️ 실제 작동 메커니즘

  1. 신원 확보: username (누가 들어올지 정함)
  2. 기반 마련: hostname, ip domain-name (키를 만들 재료 준비)
  3. 암호 도구 생성: crypto key generate rsa (암호화 통로 개설)
  4. 보안 강화: ip ssh version 2 (위의 조건들이 충족되었을 때 비로소 활성화 가능)
  5. 입구 적용: line vty에서 login local (만들어둔 계정을 사용하도록 연결)

 

정리:  L2 스위치 SSH 설정 순서

 

Step 1. 관리자 신분증 만들기 (기본 보안)

가장 먼저 누가 접속할지, 관리자 권한은 어떻게 보호할지 정한다.

  • enable secret cisco : 관리자 모드(Enable) 진입용 암호 설정
  • username admin secret cisco : SSH 접속 시 사용할 ID와 PW 생성

Step 2. 암호화 키 생성을 위한 '명함' 작성

SSH는 데이터를 암호화하기 위해 장비의 '이름'과 '소속'을 재료로 사용한다.

  • hostname SW2 : 스위치 이름 설정
  • ip domain-name hellohihello.net : 소속 도메인 설정 (키 생성의 필수 조건)

Step 3. 암호화 통로 개설 (RSA Key)

위에서 만든 이름과 도메인을 섞어서 수학적으로 복잡한 암호화 키를 뽑아낸다.

  • crypto key generate rsa : 키 생성 명령 (실행 후 2048 입력 권장)
  • 참고: 이 단계가 완료되어야 비로소 SSH 서비스가 내부적으로 "준비 완료" 상태가 된다.

Step 4. 서비스 활성화 및 보안 강화

준비된 통로에 최신 보안 규격을 적용한다.

  • ip ssh version 2 : 보안이 취약한 v1을 버리고 v2만 사용하도록 강제

Step 5. 네트워크 통로 개방 (L2 전용)

L2 스위치는 IP가 없으면 접속할 수 없으므로 관리용 IP를 심어준다.

  • interface vlan 1 → ip address 192.168.100.131 255.255.255.0 → no shutdown

Step 6. 최종 관문 설정 (VTY Line)

실제 외부에서 접속이 들어오는 '가상 문(VTY)'에 규칙을 적용한다.

  • line vty 0 4 : 접속 라인 설정 진입
  • login local : "접속할 때 아까 만든 username/secret 정보를 대조해라" 
  • transport input ssh : "텔넷은 거부하고 오직 SSH 접속만 허용해라"