소개
이 문서에서는 사용자에 대한 비밀번호를 제공하지 않고 SSH(Secure Shell) 프로토콜을 통해 정보를 전송하도록 MDS(Multilayer Data Switch) 9000을 설정하는 방법에 대해 설명합니다.
문제
SCP(Secure Copy)와 같은 프로토콜을 사용하여 SSH를 통해 MDS 스위치에서 파일을 전송하려면 기본적으로 비밀번호가 필요합니다. SSH 비밀번호를 대화형으로 제공하는 것은 불편할 수 있으며 일부 외부 사용자 스크립트에서 대화식으로 비밀번호를 제공하지 못할 수도 있습니다.
솔루션
MDS 스위치에서 공용/개인 키 쌍을 생성하고 SSH 서버의 사용자 계정 authorized_keys 파일에 공개 키를 추가합니다.
전제 조건
이 예에서는 SSH 서버 및 클라이언트가 설치된 일반 Linux 서버(RedHat, Ubuntu 등)를 구성합니다.
개요
이 문서에서는 비밀번호를 제공하지 않고 MDS 9000에서 Linux 서버로 SSH 전송에 필요한 단계를 간략하게 설명합니다. 이 단계는 4단계에 설명되어 있습니다.
- 스위치에서 데이터를 "복사"하도록 설정할 사용자 계정에 대한 공개/개인 키 쌍을 설정합니다.(예: SSH 또는 SCP 명령을 실행할 계정(이 예에서는 "testuser")
- Linux 호스트에서 사용자 계정에 대한 공개/개인 키 쌍을 설정하여 사용자 "testuser"가 스위치 프롬프트에서 비밀번호를 제공하지 않고 정보를 복사하거나 스위치에서 이동하도록 합니다.
- 스위치에서 Linux 호스트로 SCP를 테스트합니다.
MDS의 사용자 계정에 대한 공개/개인 키 쌍 설정
MDS 9000 스위치에서 사용자 이름 "testuser"를 생성하고 비밀번호 및 역할을 네트워크 관리자로 생성합니다.키 쌍을 생성할 사용자 및 네트워크 관리자 역할 사용자를 만들어야 합니다.
sw12# conf t
Enter configuration commands, one per line. End with CNTL/Z.
sw12(config)# username testuser password cisco_123 role network-admin
sw12(config)# cop run start
[########################################] 100%
sw12(config)#
이전 단계에서 생성한 사용자 이름을 사용하여 Linux 호스트에서 스위치에 SSH를 입력합니다.
sj-lnx[85]:~$ ssh testuser@192.168.12.112
User Access Verification
Password:
Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Copyright (c) 2002-2010, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained in this software are
owned by other third parties and used and distributed under
license. Certain components of this software are licensed under
the GNU General Public License (GPL) version 2.0 or the GNU
Lesser General Public License (LGPL) Version 2.1. A copy of each
such license is available at
http://www.opensource.org/licenses/gpl-2.0.php and
http://www.opensource.org/licenses/lgpl-2.1.php
sw12#
1024비트 길이의 rsa를 사용하여 사용자 testuser용 키 쌍을 생성합니다.
sw12# conf t
Enter configuration commands, one per line. End with CNTL/Z.
sw12(config)# username testuser keypair generate rsa 1024
generating rsa key(1024 bits)......
generated rsa key
sw12(config)# show username testuser keypair
**************************************
rsa Keys generated:Tue Apr 16 15:05:18 2013
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAs3RocZLGp0y0sTdKXydmJDQVG//wAWXys7xk2DrcgQco
fY8+bRUBAUfMasoOVUvrCvV0qOdC8woV4KgF0nQgfX/mhuKqjWHW6IEBMmPY8v+OjXn+Avj3CH8K7h1z
tmbtFPo04rR7ivJx/boPQopk7mlpeocEzpVihOCIRiVJaj0=
bitcount:1024
fingerprint:
8b:d8:7b:2f:bf:14:ee:bc:a4:d3:54:0a:9a:4d:db:60
**************************************
could not retrieve dsa key information
**************************************
sw12(config)# cop run start
[########################################] 100%
sw12(config)#
키 쌍을 bootflash로 내보내기: 패스프레이즈를 제공합니다(원하는 것은 무엇이든지 다른 곳에 기록해 두십시오.).
sw12(config)# username testuser keypair export bootflash:testuser_rsa rsa
Enter Passphrase:
sw12(config)# dir bootflash:
16384 Apr 15 15:21:31 2012 lost+found/
18693120 Apr 15 15:22:55 2012 m9100-s3ek9-kickstart-mz.5.0.1a.bin
73579433 Apr 15 15:23:53 2012 m9100-s3ek9-mz.5.0.1a.bin
5778 Apr 15 15:24:48 2013 mts.log
951 Apr 16 15:07:01 2013 testuser_rsa
219 Apr 16 15:07:02 2013 testuser_rsa.pub
Usage for bootflash://sup-local
143622144 bytes used
533487616 bytes free
677109760 bytes total
sw12(config)#
Linux 호스트의 사용자 계정에 대한 공개/개인 키 쌍 설정
사용자 테스트 사용자를 위한 rsa 공개 키를 스위치에서 사용자 이름 "testuser"가 이미 있는 Linux 호스트로 복사합니다.사용자 이름 testuser에 대한 비밀번호를 제공해야 합니다. 이 비밀번호는 스위치에서 이전에 생성한 비밀번호와 다를 수 있습니다.
참고:이러한 지침은 testuser 계정 경로가 /users/testuser인 예를 사용합니다.Linux 버전에 따라 이 경로가 다를 수 있습니다.
sw12(config)# copy bootflash:testuser_rsa.pub scp://testuser@192.168.12.100/users/testuser/.ssh
The authenticity of host '192.168.12.100 (192.168.12.100)' can't be established.
RSA key fingerprint is 91:42:28:58:f9:51:31:4d:ba:ac:95:50:51:09:96:74.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.12.100' (RSA) to the list of known hosts.
testuser@192.168.12.100's password:
testuser_rsa.pub 100% 219 0.2KB/s 00:00
sw12(config)# dir bootflash:
16384 Apr 15 15:21:31 2012 lost+found/
18693120 Apr 15 15:22:55 2012 m9100-s3ek9-kickstart-mz.5.0.1a.bin
73579433 Apr 15 15:23:53 2012 m9100-s3ek9-mz.5.0.1a.bin
5778 Apr 15 15:24:48 2013 mts.log
951 Apr 16 15:07:01 2013 testuser_rsa
219 Apr 16 15:07:02 2013 testuser_rsa.pub
Usage for bootflash://sup-local
143622144 bytes used
533487616 bytes free
677109760 bytes total
sw12(config)#
Linux 서버에서 testuser_rsa.pub 파일의 내용을 authorized_keys 파일(또는 SSH 버전에 따라 authorized_keys2 파일)에 추가해야 합니다.
sj-lnx[91]:~/$ cd .ssh
sj-lnx[92]:~/.ssh$ chmod 644 authorized_keys2
sj-lnx[93]:~/.ssh$ ls -lrt
lrwxrwxrwx 1 testuser eng 16 Apr 7 2005 authorized_keys -> authorized_keys2
-rw-r--r-- 1 testuser eng 1327 Apr 16 15:04 authorized_keys2
-rw-r--r-- 1 testuser eng 219 Apr 16 15:13 testuser_rsa.pub
sj-lnx[94]:~/.ssh$ cat testuser_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAs3RocZLGp0y0sTdKXydmJDQVG//wAWXys7xk2DrcgQcofY8+bRUBAUfMasoOVUvrCvV0qOdC8woV4KgF0nQgfX/mhuKqjWHW6IEBMmPY8v+OjXn+Avj3CH8K7h1ztmbtFPo04rR7ivJx/boPQopk7mlpeocEzpVihOCIRiVJaj0= root@sw12
sj-lnx[95]:~/.ssh$ cat testuser_ras.pub >> authorized_keys2
sj-lnx[96]:~/.ssh$ cat authorized_keys2
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA1XMy4dbF5Vy4+wvYWS7s/luE/HoyX+HD6Kwrre5lEP7ZRKm1S3blWxZeYIYuhL7kU714ZM0r4NzEcV2Jdt6/7Hai5FlnKqA04AOAYH6jiPcw0fjdLB98q96B4G5XvaoV7VP2HTNn7Uw5DpQ3+ODwjCgQE7PvBOS2yGKt9gYbLd8= root@sw12
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAs3RocZLGp0y0sTdKXydmJDQVG//wAWXys7xk2DrcgQcofY8+bRUBAUfMasoOVUvrCvV0qOdC8woV4KgF0nQgfX/mhuKqjWHW6IEBMmPY8v+OjXn+Avj3CH8K7h1ztmbtFPo04rR7ivJx/boPQopk7mlpeocEzpVihOCIRiVJaj0= root@sw12
sj-lnx[97]:~/.ssh$
스위치에서 Linux 호스트로 SCP를 테스트합니다.
스위치에서 Linux 서버로 SCP를 테스트하고 비밀번호를 입력하지 않고 스위치에서 서버로 사본을 확인합니다.("비밀번호를 묻는 메시지가 표시되지 않음..."에 유의하십시오.)
sw12(config)# dir bootflash:
16384 Apr 15 15:21:31 2012 lost+found/
18693120 Apr 15 15:22:55 2012 m9100-s3ek9-kickstart-mz.5.0.1a.bin
73579433 Apr 15 15:23:53 2012 m9100-s3ek9-mz.5.0.1a.bin
5778 Apr 15 15:24:48 2013 mts.log
951 Apr 16 15:07:01 2013 testuser_rsa
219 Apr 16 15:07:02 2013 testuser_rsa.pub
Usage for bootflash://sup-local
143622144 bytes used
533487616 bytes free
677109760 bytes total
sw12(config)# copy bootflash:mts.log scp://testuser@192.168.12.100/users/testuser
mts.log 100% 5778 5.6KB/s 00:00
sw12(config)#