Cisco IOS에서 SSH 구성하는 방법
학습 목차
- 구성 1.1. SSH 서버 1.2. SSH 클라이언트
- 결론
이전 강의에서는 Cisco IOS 장비에 원격 접속하기 위해 Telnet을 사용하는 방법을 설명했습니다. Telnet의 문제는 모든 데이터가 평문으로 전송된다는 점이며, 이러한 이유로 사용해서는 안 됩니다.
SSH(Secure Shell) 는 인증과 암호화를 포함하는 안전한 원격 접속 방법입니다. 이를 위해 RSA 공개키/개인키 쌍을 사용합니다.
SSH에는 버전 1과 버전 2 두 가지가 있으며, 버전 2가 더 안전하고 일반적으로 사용됩니다.
마지막으로, SSH를 구성하려면 암호화 기능을 지원하는 IOS 이미지가 필요합니다. 그렇지 않으면 SSH를 구성할 수 없습니다.
1. 구성
SSH를 시연하기 위해 다음 토폴로지를 사용합니다.
R1에서 SSH를 구성하여 다른 모든 장치에서 접속할 수 있도록 합니다. R2는 SSH 클라이언트로 사용됩니다.
1.1. SSH 서버
RSA 키 쌍의 이름은 라우터의 호스트네임과 도메인 네임으로 구성됩니다. 호스트네임을 설정합시다.
Router(config)# hostname R1그리고 도메인 네임도 설정합니다.
R1(config)# ip domain-name NETWORKLESSONS.LOCAL이제 RSA 키 쌍을 생성할 수 있습니다.
R1(config)# crypto key generate rsa
The name for the keys will be: R1.NETWORKLESSONS.LOCAL
Choose the size of the key modulus in the range of 360 to 4096 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 2048
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK] (elapsed time was 3 seconds)crypto key generate rsa 명령어를 사용할 때, 키 크기에 사용할 비트 수를 묻습니다. 얼마나 선택해야 할까요?
이를 위해서는 Cisco의 차세대 암호화(next generation encryption) 문서를 확인하는 것이 좋습니다. 현재 시점에서 2048비트 키 크기는 적절합니다. 1024비트 이하의 키 크기는 피해야 합니다. 키 크기가 클수록 계산 시간이 더 오래 걸립니다.
키 쌍이 생성되면 다음 메시지가 나타납니다.
R1#
%SSH-5-ENABLED: SSH 1.99 has been enabled위에서 보듯이 SSH 버전 1이 기본 버전입니다. 버전 2로 전환합시다.
R1(config)# ip ssh version 2SSH가 활성화되었지만 VTY 라인도 구성해야 합니다.
R1(config)# line vty 0 4
R1(config-line)# transport input ssh
R1(config-line)# login local
이렇게 하면 SSH만 사용하도록 보장하고(Telnet이나 다른 프로토콜이 아닌), 사용자 이름은 로컬 데이터베이스에서 확인하도록 설정됩니다. 사용자를 생성합시다.
R1(config)# username admin password my_password이제 모든 준비가 완료되었습니다. SSH로 R1에 연결할 수 있어야 합니다.
1.2. SSH 클라이언트
가장 일반적인 SSH 클라이언트는 아마도 PuTTY일 것입니다. SSH 프로토콜을 선택하고, IP 주소를 입력하고, 기본 포트 22를 그대로 두기만 하면 됩니다.
PuTTY 콘솔에서 다음과 같이 표시됩니다.
login as: admin
Using keyboard-interactive authentication.
Password:
R1>다른 Cisco IOS 장비를 SSH 클라이언트로 사용할 수도 있습니다. 방법은 다음과 같습니다.
R2# ssh ?
-c Select encryption algorithm
-l Log in using this user name
-m Select HMAC algorithm
-o Specify options
-p Connect to this port
-v Specify SSH Protocol Version
-vrf Specify vrf name
WORD IP address or hostname of a remote system옵션이 꽤 많지만, 최소한 사용자 이름과 IP 주소는 지정해야 합니다.
R2# ssh -l admin 192.168.12.1
Password:
R1>이제 SSH로 R1에 연결되었습니다.
구성
직접 살펴보고 싶으신가요? 각 장치의 최종 구성은 다음과 같습니다.
R1
hostname R1
!
ip domain name NETWORKLESSONS.LOCAL
ip cef
!
username admin password 0 my_password
!
interface GigabitEthernet0/1
ip address 192.168.12.1 255.255.255.0
!
ip ssh version 2
!
line vty 0 4
login local
transport input ssh
!
endR2
hostname R2
!
ip cef
!
interface GigabitEthernet0/1
ip address 192.168.12.2 255.255.255.0
!
end2. 결론
이제 Cisco IOS 라우터 또는 스위치에서 SSH 서버를 구성하는 방법과 SSH 클라이언트를 사용하는 방법을 배웠습니다.
- SSH는 Telnet과 달리 라우터나 스위치에 대한 안전한 원격 접속 방법입니다.
- SSH는 RSA 공개/개인 키 쌍을 필요로 합니다.
- SSH 버전 2는 버전 1보다 더 안전합니다.
- 암호화 기능을 지원하는 IOS 이미지가 있는지 확인하세요. 그렇지 않으면 SSH를 사용할 수 없습니다.
포럼 답글
rajesh-kodali28yahoo
라우터 R3을 R2에 연결하고(정적 라우트 구성됨) R3만 R1 SSH에 접근할 수 있도록 access-list를 구성하면, 비밀번호를 계속 반복해서 묻습니다. 중간에 R2가 있기 때문일까요?
lagapidis
안녕 Balagopal!
비밀번호 프롬프트가 표시된다면, 두 라우터 사이에 라우팅이 올바르게 구성되어 있다는 뜻입니다(중간에 어떤 장치가 있든 상관없이). 비밀번호를 계속 묻는다면, 입력하는 비밀번호가 잘못되었을 수 있습니다. 구성을 다시 확인해 보시고, 여전히 문제가 있다면 관련 구성 부분을 공유해 주시면 살펴볼 수 있습니다.
도움이 되었길 바랍니다!
Laz
matthew.wilson
안녕 Rene,
저는 항상 다음 명령어를 사용해 왔습니다.
ip http secure-server그리고:
control-plane host
management-interface FastEthernet0/0 allow ftp https ssh tftp snmp그리고:
transport input ssh위에서 보여주신 대로 crypto key를 생성하고 control-plane host 라인을 사용해 봤는데, VTY 라인에서 transport input ssh를 지정하지 않고도 같은 결과를 얻는 것 같습니다. 라우터에 SSH로만 접속할 수 있습니다. 같은 결과를 얻는 것일까요? sh run을 실행해 보면 제 방식과 차이는…
… 포럼에서 계속 읽기
lagapidis
안녕 Matt!
당신이 구현한 구성 방식은 비슷한 결과를 달성하지만, Rene가 예제에서 한 것과 정확히 같지는 않습니다.
Rene의 예제는 VTY 라인에 SSH를 적용합니다. 이는 어떤 인터페이스에서든 VTY 연결로 SSH를 통해 장치에 연결할 수 있다는 의미입니다. 당신의 구성에서는 SSH 구성을 관리 인터페이스에만 바인딩하고 있습니다. 이는 물론 대역 외 관리(out of band management)만 적용한다는 가정 하에 정당한 구성이며, 작동한다면 좋습니다. 또한 당신의 구성에서 ip…
… 포럼에서 계속 읽기
matthew.wilson
감사합니다 Lazaros, 모두 이해가 됩니다. 가상 인터페이스로 어디서든 접근할 수 있을 때 포트를 묶을 필요가 없죠. 기회가 되면 시도해 보겠습니다. Matt.
13개의 추가 답글이 있습니다. 커뮤니티 포럼을 방문해 질문하거나 토론에 참여하세요.
출처: networklessons.com - SSH Configuration on Cisco IOS
태그: SSH, Telnet