本文說明如何產生私用安全殼層(SSH)金鑰,並在登入思科電子郵件安全裝置(ESA)上的指令行介面(CLI)時用於使用者名稱和驗證。
公開金鑰驗證(PKI)是一種依賴產生的公開/私密金鑰配對的驗證方法。使用PKI,生成具有非常有用屬性的特殊「金鑰」:任何能夠讀取金鑰的公共部分的人都可以加密資料,然後只有能夠訪問金鑰的私有部分的人才能讀取資料。這樣,訪問金鑰的公共部分就可以將機密資訊傳送給擁有該私有部分的任何人,還可以驗證某個人確實有權訪問該私有部分。很容易理解這種技術如何被用來進行身份驗證。
作為使用者,您可以生成金鑰對,然後將該金鑰的公共部分放在遠端系統(如ESA)上。然後,該遠端系統可以對您的使用者ID進行身份驗證,並讓您只需演示您有權訪問金鑰對的私有部分即可登入。此操作在SSH中的協定級別自動完成。
但是,它意味著您需要保護私鑰的隱私。在您沒有root許可權的共用系統上,可以使用密碼短語加密私密金鑰,其功能與密碼類似。在SSH可以讀取您的私鑰以執行公鑰身份驗證之前,系統將要求您提供密碼以便解密私鑰。在更安全的系統上(例如您是唯一使用者的機器,或是家中沒有任何陌生人可以存取的機器),您可以建立未加密的私密金鑰(沒有密碼短語),或輸入一次密碼短語,然後在電腦使用期間將金鑰快取到記憶體中,以簡化此程式。OpenSSH包含一個名為ssh-agent的工具,可簡化此過程。
完成以下步驟,設定linux/unix工作站(或伺服器),以便無需密碼即可連線到ESA。 在此範例中,我們不會指定密碼短語。
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)按一下右鍵標籤為「Public key for pasting into OpenSSH authorized_keys」檔案的文本欄位,然後選擇Select All。
8)在同一文本欄位中再次按一下右鍵,然後選擇Copy。
9)使用PuTTY,登入裝置並配置ESA,使用您從#6 - #8儲存和複製的公共SSH金鑰來辨識您的Windows工作站(或伺服器),然後提交更改。 請注意登入期間的密碼提示:
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 |
初始版本 |