Skip to content

Cisco ACI の APIC では sshpass が使える

以前に sshpass をインストールするには というメモを書きましたが、sshpass を使うと ssh のパスワードをワンライナーで記載することが出来ます。 鍵交換方式が利用出来るのであればベターですが、利用出来ない場合は代替手段になり得ます (但し、スクリプト中で使う場合はパスワードを平文で書く必要があるので、セキュリティリスクについてよく考慮する必要があります。 通常であれば検証環境のみの利用に限定する等、限定的な利用に留めることをお勧めします)。

Cisco ACI のコントローラである『APIC』は CentOS ベースですが、デフォルト状態で sshpass がインストールされていました。

Linux としてみた APIC の OS バージョン

Cisco ACI 2.2(2i) 環境の APIC 上で確認した場合、CentOS 7.2.1511 と表示されました。

1
2
apic1# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

sshpass のインストールパス

APIC 上で確認すると /bin/sshpass にインストールされていることが分かります。

1
2
apic1# which sshpass
/bin//sshpass

APIC 上から sshpass を利用してみる

APIC 上から sshpass を利用してみます。

APIC から Leaf へログインしてみる

APIC から Leaf にログインしてみます。 sshpass でパスワードを指定している為、対話的にパスワードを問われず、Leaf へ SSH ログイン出来ていることが分かります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
apic1# sshpass -p PASSWORD ssh admin@192.168.1.101
Warning: Permanently added '192.168.1.101' (RSA) to the list of known hosts.

Last login: Sun Jun  4 12:59:30 2017 from 10.0.0.1
Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Copyright (c) 2002-2017, 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
leaf1#

APIC から Linux サーバへログインしてみる

APIC からファブリック外部の Linux サーバにも問題無く、sshpass を使って SSH ログイン出来ます。

1
2
3
apic1# sshpass -p password ssh root@192.168.1.199
Last login: Sun Jun  4 13:12:29 2017 from 192.168.1.1
root@CentOS7:~#