이 문서에서는 SSH(Private Secure Shell) 키를 생성하고 Cisco ESA(Email Security Appliance)의 CLI(Command Line Interface)에 로그인할 때 사용자 이름 및 인증에 사용하는 방법에 대해 설명합니다.
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>
비밀번호 없이 ESA에 연결하기 위해 Windows 워크스테이션(또는 서버)을 설정하려면 다음 단계를 완료합니다. 이 예에서는 패스프레이즈로 지정하지 않습니다.
1) PuttyGen 열기
2) 생성할 키 유형에서 SSH-2 RSA를 선택합니다.
3) Generate(생성) 버튼을 클릭합니다.
4) 진행 표시줄 아래의 영역에서 마우스를 이동합니다.진행률 표시줄이 꽉 차면 PuTTYgen에서 키 쌍을 생성합니다.
5) Key passphrase 필드에 암호를 입력합니다.Confirm passphrase 필드에 동일한 패스프레이즈를 입력합니다.암호 없이 키를 사용할 수 있지만 권장하지 않습니다.
6) 개인 키 저장 단추를 클릭하여 개인 키를 저장합니다.
7) OpenSSH authorized_keys 파일에 붙여넣으려면 Public key라는 텍스트 필드를 마우스 오른쪽 버튼으로 클릭하고 Select All을 선택합니다.
8) 동일한 텍스트 필드에서 다시 마우스 오른쪽 버튼을 클릭하고 복사를 선택합니다.
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에 세션(프로필)을 저장하고 열기를 클릭합니다. 미리 구성된 세션에서 저장 또는 지정되지 않은 경우 사용자 이름으로 로그인합니다. 로그인할 때 "공개 키 "[저장된 개인 키의 파일 이름]"을 사용하여 인증하는 것을 확인합니다.
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>