简介
本文档介绍如何在不提示输入安全外壳(SSH)用户密码的情况下通过SSH连接到思科多层数据交换机(MDS)9000或Nexus系列交换机。
您可以将ssh与基于密钥的身份验证和运行命令配合使用,以便不出现密码提示。
switch# ssh username@switch命令
先决条件
要求
Cisco 建议您了解以下主题:
使用的组件
本文档中的信息基于具有ssh版本的Linux服务器:
$ ssh -v
OpenSSH_5.0p1-hpn13v1,OpenSSL 0.9.8d 2006年9月28日
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
配置
要启用此功能,请执行以下步骤:
步骤1.需要在MDS/Nexus交换机上启用SSH。
#conf
(config)#feature ssh
步骤2.您需要从主机获取公钥,并在MDS/Nexus交换机上进行配置。
选项:
-v :启用详细
-b:密钥的位数
-t:算法类型DSA或RSA
$ ssh-keygen -v -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/users/thteoh/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /users/thteoh/.ssh/id_rsa.
Your public key has been saved in /users/thteoh/.ssh/id_rsa.pub.
The key fingerprint is:
61:18:ad:14:cd:a7:bf:44:89:73:4a:2e:09:96:bb:51 thteoh@people
注意:在本例中,使用RSA,您还可以选择数字签名算法(DSA)密钥。
使用带id_rsa.pub文件的cat验证生成的密钥(文件也可以是id_dsa.pub)
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzDWrMuGDkDXFRnuCqdJRM9Yd+oi0ff2K6HxRsyqh82GmQJ3IX6OG7obiQTKnT9+eH7h2WCArEiMsOz3GYtakEkpYx6zR3cKwrsrgKv4TwRgSv8yUyH8GwPZOvZP97szJDu/3WP/ni4wJBb+yDqoI6+G1Rq/F2aYx45fh6SwlPv0= thteoh@people
步骤3.将id_rsa.pub(或id_dsa.pub)文件传输到MDS/Nexus交换机的bootflash目录并配置ssh公钥。
在本示例中,SFTP用于在MDS交换机中传输id_rsa.pub
#copy sftp: bootflash
要在Nexus交换机中传输文件,请在命令中包含vrf。
步骤4.使用id_rsa.pub或id_dsa.pub在交换机上生成SSH密钥。
供参考使用的用户名。
#conf
(config)#username teoh sshkey file bootflash:id_rsa.pub
步骤5.您可以检查命令是否成功完成。
switch# show user-account teoh
user:teoh
this user account has no expiry date
roles:network-admin
ssh public key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzDWrMuGDkDXFRnuCqdJRM9Yd+oi0ff2K6HxRsyqh82GmQJ3IX6OG7o
biQTKnT9+eH7h2WCArEiMsOz3GYtakEkpYx6zR3cKwrsrgKv4TwRgSv8yUyH8GwPZOvZP97szJDu/3WP/ni4wJBb+yDqoI6+G1Rq/F2aYx45fh6Swl
Pv0= thteoh@people
switch#
验证
现在,您可以ssh到交换机并发出任何命令,而无需口令提示:
$ ssh teoh@10.66.78.53 "sh system uptime"
Warning: the output may not have all the roles
System start time: Tue May 29 17:51:30 2012
System uptime: 7 days, 19 hours, 42 minutes, 15 seconds
Kernel uptime: 7 days, 19 hours, 45 minutes, 17 seconds