이 문서에서는 Cisco ESA(Email Security Appliance)에서 CLI(Command Line Interface)에 로그인할 때 SSH(Private Secure Shell) 키를 생성하고 이를 사용자 이름 및 인증에 사용하는 방법에 대해 설명합니다.
PKI(Public-Key Authentication)는 생성된 공개/개인 키 쌍을 사용하는 인증 방법입니다. PKI를 사용하면 매우 유용한 속성을 가진 특수 "키"가 생성됩니다. 키의 공용 절반을 읽을 수 있는 사람은 데이터를 암호화할 수 있습니다. 그러면 키의 개인 절반에 액세스할 수 있는 사람만 데이터를 읽을 수 있습니다. 이렇게 하면 키의 공용 절반에 액세스할 수 있으므로 비밀 정보를 개인 절반이 있는 누구에게나 보낼 수 있으며, 개인이 실제로 개인 절반에 액세스할 수 있는지 확인할 수도 있습니다. 이 기술을 사용하여 어떻게 인증할 수 있는지 쉽게 알 수 있습니다.
사용자는 키 쌍을 생성한 다음 키의 공용 절반을 ESA와 같은 원격 시스템에 배치할 수 있습니다. 그런 다음 원격 시스템에서는 사용자 ID를 인증하고 키 쌍의 프라이빗 절반에 액세스할 수 있음을 증명하기만 하면 로그인할 수 있습니다. 이는 SSH 내부의 프로토콜 레벨에서 수행되며 자동으로 수행됩니다.
그러나 개인 키의 개인 정보를 보호해야 함을 의미합니다. 루트가 없는 공유 시스템에서는 비밀번호와 유사하게 작동하는 패스프레이즈로 개인 키를 암호화하여 이 작업을 수행할 수 있습니다. SSH가 공개 키 인증을 수행하기 위해 개인 키를 읽으려면 먼저 개인 키의 암호를 해독할 수 있도록 암호를 입력하라는 메시지가 표시됩니다. 더 안전한 시스템(예: 사용자가 유일한 사용자인 시스템 또는 모르는 사람이 물리적으로 액세스할 수 없는 가정의 시스템)에서는 암호화되지 않은 개인 키(암호 없음)를 만들거나 암호를 한 번 입력한 다음 컴퓨터에서 사용 중인 시간 동안 메모리에 키를 캐싱하여 이 프로세스를 간소화할 수 있습니다. OpenSSH에는 이 프로세스를 간소화하는 ssh-agent라는 도구가 포함되어 있습니다.
다음 단계를 완료하여 비밀번호 없이 ESA에 연결할 linux/unix 워크스테이션(또는 서버)을 설정합니다. 이 예에서는 패스프레이즈로 지정하지 않습니다.
1) 워크스테이션(또는 서버)에서 Unix 명령 ssh-keygen을 사용하여 개인 키를 생성합니다.
$ ssh-keygen -b 2048 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/[USERID]/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/[USERID]/.ssh/id_rsa.
Your public key has been saved in /home/[USERID]/.ssh/id_rsa.pub.
The key fingerprint is:
00:11:22:77:f6:a9:1e:19:f0:ca:28:9c:ff:00:11:22 [USERID]@hostname.com
The key's randomart image is:
+--[ RSA 2048]----+
| +... +|
| o= o+|
| o o ..|
| . ..o . + |
| . ES. o + |
| o + . . |
| o . . |
| o o |
| . . |
+-----------------+
(*위의 파일은 Ubuntu 14.04.1에서 생성되었습니다.)
2) #1에서 생성한 공개 키 파일(id_rsa.pub)을 열고 출력을 복사합니다.
$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJg9W3DeGf83m+E/PLGzUFPalSoJz5F
t54Wl2wUS36NLxm4IO4Xfrrb5bA97I+ZA4YcB1l/HsFLZcoljAK4uBbmpY5kXg96A6Wf
mIYMnl+nV2vrhrODgbcicEAdMcQN3wWHXiEWacV+6u+FlHlonkSAIDEug6vfnd+bsbcP
Zz2uYnx1llxbVtGftbWVssBK3LkFp9f0GwDiYs7LsXvQbTkixrECXqeSrr+NLzhU5hf6
eb9Kn8xjytf+eFbYAslam/NEfl9i4rjide1ebWN+LnkdcE5eQ0ZsecBidXv0KNf45RJa
KgzF7joke9niLfpf2sgCTiFxg+qZ0rQludntknw [USERID]@hostname.com
3) 어플라이언스에 로그인하고 #1에서 생성한 공개 SSH 키를 사용하여 워크스테이션(또는 서버)을 인식하고 변경 사항을 커밋하도록 ESA를 구성합니다. 로그인 시 비밀번호 프롬프트를 확인합니다.
$ ssh admin@192.168.0.199
******************************
CONNECTING to myesa.local
Please stand by...
******************************
Password:[PASSWORD]
Last login: Mon Aug 18 14:11:40 2014 from 192.168.0.200
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local> sshconfig
Currently installed keys for admin:
Choose the operation you want to perform:
- NEW - Add a new key.
- USER - Switch to a different user to edit.
[]> new
Please enter the public SSH key for authorization.
Press enter on a blank line to finish.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJg9W3DeGf83m+E/PLGzUFPalSoJz5F
t54Wl2wUS36NLxm4IO4Xfrrb5bA97I+ZA4YcB1l/HsFLZcoljAK4uBbmpY5kXg96A6Wf
mIYMnl+nV2vrhrODgbcicEAdMcQN3wWHXiEWacV+6u+FlHlonkSAIDEug6vfnd+bsbcP
Zz2uYnx1llxbVtGftbWVssBK3LkFp9f0GwDiYs7LsXvQbTkixrECXqeSrr+NLzhU5hf6
eb9Kn8xjytf+eFbYAslam/NEfl9i4rjide1ebWN+LnkdcE5eQ0ZsecBidXv0KNf45RJa
KgzF7joke9niLfpf2sgCTiFxg+qZ0rQludntknw [USERID]@hostname.com
Currently installed keys for admin:
1. ssh-rsa AAAAB3NzaC1yc2EAA...rQludntknw ([USERID]@hostname.com)
Choose the operation you want to perform:
- NEW - Add a new key.
- DELETE - Remove a key.
- PRINT - Display a key.
- USER - Switch to a different user to edit.
[]>
myesa.local> commit
4) 어플라이언스를 종료하고 다시 로그인합니다. 비밀번호 프롬프트가 제거되고 액세스가 직접 부여됩니다.
myesa.local> exit
Connection to 192.168.0.199 closed.
robert@ubuntu:~$ ssh admin@192.168.0.199
******************************
CONNECTING to myesa.local
Please stand by...
******************************
Last login: Mon Aug 18 14:14:50 2014 from 192.168.0.200
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local>
다음 단계를 완료하여 Windows 워크스테이션(또는 서버)이 비밀번호 없이 ESA에 연결하도록 설정합니다. 이 예에서는 패스프레이즈로 지정하지 않습니다.
1) PuttyGen을 엽니다.
2) 생성할 키 유형으로 SSH-2 RSA를 선택합니다.
3) Generate(생성) 버튼을 클릭합니다.
4) 진행 표시줄 아래의 영역으로 마우스를 이동합니다. 진행률 표시줄이 꽉 차면 PuTTYgen이 키 쌍을 생성합니다.
5) Key passphrase(키 패스프레이즈) 필드에 패스프레이즈를 입력합니다. Confirm passphrase 필드에 동일한 패스프레이즈를 입력합니다. 암호 없이 키를 사용할 수 있지만 권장하지 않습니다.
6) Save private key(개인 키 저장) 버튼을 클릭하여 개인 키를 저장합니다.
7) OpenSSH authorized_keys 파일에 붙여넣기를 위해 Public key(공개 키)라는 텍스트 필드를 마우스 오른쪽 버튼으로 클릭하고 Select All(모두 선택)을 선택합니다.
8) 동일한 텍스트 필드에서 마우스 오른쪽 버튼을 다시 클릭하고 Copy(복사)를 선택합니다.
9) PuTTY를 사용하여 어플라이언스에 로그인하고 #6 - #8에서 저장 및 복사한 공용 SSH 키를 사용하여 Windows 워크스테이션(또는 서버)을 인식하고 변경 사항을 커밋하도록 ESA를 구성합니다. 로그인 시 비밀번호 프롬프트를 확인합니다.
login as: admin
Using keyboard-interactive authentication.
Password: [PASSWORD]
Last login: Mon Aug 18 11:46:17 2014 from 192.168.0.201
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local> sshconfig
Currently installed keys for admin:
Choose the operation you want to perform:
- NEW - Add a new key.
- USER - Switch to a different user to edit.
[]> new
Please enter the public SSH key for authorization.
Press enter on a blank line to finish.
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAj6ReI+gqLU3W1uQAMUG0620B+tpdkjkgBn
5NfYc+qrtyB93stG38O1T4s0zHnhuKJLTdwBg/JHdFuNO77BY+21GYGS27dMp3UT9/VuQ
TjP8DmWKOa+8Mpc9ePdCBZp1C4ct9oroidUT3V3Fbl5M9rL8q4/gonSi+7iFc9uOaqgDM
/h+RxhYeFdJLechMY5nN0adViFloKGmV1tz3K9t0p+jEW5l9TJf+fl5X6yxpBBDoNcaB9
jNwQ5v7vcIZBv+fl98OcXD9SNt08G0XaefyD2VuphtNA5EHwx+f6eeA8ftlmO+PgtqnAs
c2T+i3BAdC73xwML+1IG82zY51pudntknw rsa-key-20140818
Currently installed keys for admin:
1. ssh-rsa AAAAB3NzaC1yc2EAA...51pudntknw (rsa-key-20140818)
Choose the operation you want to perform:
- NEW - Add a new key.
- DELETE - Remove a key.
- PRINT - Display a key.
- USER - Switch to a different user to edit.
[]>
myesa.local> commit
10) PuTTy 컨피그레이션 창에서 ESA에 대한 기존의 저장된 세션에서 Connection > SSH > Auth를 선택하고 Private key file for authentication(인증을 위한 개인 키 파일) 필드에서 Browse(찾아보기)를 클릭하여 #6단계에서 저장된 개인 키를 찾습니다.
11) PuTTY에 세션(프로파일)을 저장하고 Open(열기)을 클릭합니다. 사용자 이름을 사용하여 로그인합니다(사전 구성된 세션에서 아직 저장하거나 지정하지 않은 경우). 로그인할 때 "공개 키로 인증 "[저장된 개인 키의 파일 이름]"이(가) 포함되어 있는지 확인합니다.
login as: admin
Authenticating with public key "rsa-key-20140818"
Last login: Mon Aug 18 11:56:49 2014 from 192.168.0.201
Copyright (c) 2001-2013, Cisco Systems, Inc.
AsyncOS 8.5.6 for Cisco C100V build 074
Welcome to the Cisco C100V Email Security Virtual Appliance
myesa.local>
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
20-Aug-2014 |
최초 릴리스 |