本文档介绍在登录到思科邮件安全设备(ESA)上的命令行界面(CLI)时,如何生成私有安全外壳(SSH)密钥并将其用于用户名和身份验证。
公钥身份验证(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)登录设备并配置ESA,以使用在#1中创建的公共SSH密钥识别您的工作站(或服务器),并提交更改。 注意登录期间的密码提示:
$ 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文件中,然后选择全选。
8)在同一文本字段中再次右键单击,然后选择复制。
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)从PuTY配置窗口和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 |
初始版本 |