Nutanix CE / AHV で acli を利用するときに、通常は CVM に SSH ログインすることになります。自宅ラボ運用を便利にすべく、Linux サーバで acli 踏み台を構築してみました。
まず、SSH 鍵認証で CVM にアクセスできるようにしておきます。
これでパスワードなしで acli が利用できるようになります。
[gowatana@infra-jbox-01 ~]$ ssh -i ntnx-lockdown nutanix@ntnx-n-11-cvm.go-lab.jp /usr/local/nutanix/bin/acli host.list Nutanix Controller VM Hypervisor address Host UUID Schedulable Hypervisor Type Hypervisor Name ntnx-n-11-ahv.go-lab.jp 5836f28a-99d4-4fdf-a64e-312617d172da True kKvm AHV ntnx-n-12-ahv.go-lab.jp cadb6537-aa8b-421b-b89e-5ab838642417 True kKvm AHV ntnx-n-13-ahv.go-lab.jp df52e3b3-72b4-4ee1-9a9b-674170f2c603 True kKvm AHV
ユーザあたりの Nutanix クラスタが 1つだけの環境にて、さらに工夫してみます。
まず、作成した鍵ファイルを、それらしいディレクトリに移動しておきます。
[gowatana@infra-jbox-01 ~]$ mv ./ntnx-lockdown ~/.ssh/
ホームディレクトリ配下に .ssh/config ファイルを作成し、下記のような設定を追記します。
- ファイルのパーミッションは 600 にしています。
- Hostname は Nutanix クラスタの VIP にあたるアドレスです。
- VIP はノードを移動するので StrictHostKeyChecking no も指定しておきます。
[gowatana@infra-jbox-01 ~]$ ls -l ~/.ssh/config -rw------- 1 gowatana ldap-users 255 Dec 20 00:35 .ssh/config [gowatana@infra-jbox-01 ~]$ cat ~/.ssh/config Host ntnx-n-10.go-lab.jp Hostname ntnx-n-10.go-lab.jp User nutanix IdentityFile ~/.ssh/ntnx-lockdown StrictHostKeyChecking no
これで、コマンドラインで「-i」オプションで SSH 鍵ファイルを指定しなくても、パスワードなしで acli が実行できるようになります。
[gowatana@infra-jbox-01 ~]$ ssh ntnx-n-10.go-lab.jp /usr/local/nutanix/bin/acli host.list Nutanix Controller VM Hypervisor address Host UUID Schedulable Hypervisor Type Hypervisor Name ntnx-n-11-ahv.go-lab.jp 5836f28a-99d4-4fdf-a64e-312617d172da True kKvm AHV ntnx-n-12-ahv.go-lab.jp cadb6537-aa8b-421b-b89e-5ab838642417 True kKvm AHV ntnx-n-13-ahv.go-lab.jp df52e3b3-72b4-4ee1-9a9b-674170f2c603 True kKvm AHV
さらに、ユーザーの .bash_profile に下記を追記して、ログインしなおしてプロファイルを読み直します。
[gowatana@infra-jbox-01 ~]$ cat .bash_profile | tail -n 1 alias acli='ssh -t ntnx-n-10.go-lab.jp /usr/local/nutanix/bin/acli'
そうすると、acli が実行できる Linux サーバのできます。
[gowatana@infra-jbox-01 ~]$ cat /etc/oracle-release Oracle Linux Server release 7.5 [gowatana@infra-jbox-01 ~]$ acli host.list Nutanix Controller VM Hypervisor address Host UUID Schedulable Hypervisor Type Hypervisor Name ntnx-n-11-ahv.go-lab.jp 5836f28a-99d4-4fdf-a64e-312617d172da True kKvm AHV ntnx-n-12-ahv.go-lab.jp cadb6537-aa8b-421b-b89e-5ab838642417 True kKvm AHV ntnx-n-13-ahv.go-lab.jp df52e3b3-72b4-4ee1-9a9b-674170f2c603 True kKvm AHV
以上。