ncli で CVM に公開鍵を登録してSSHアクセスする方法
こんにちは。クララの吉村です。
今回はCVMに公開鍵を登録する方法をご紹介します。
やりたい事
LinuxユーザにとってはPrism にログインしてNutanixを操作していると、なんだか面倒だなーと思うことあります。
CVMに直接SSHログインして操作したいなと。
かといって、パスワード方式でやるとパスワードをセキュアに管理しないといけないのでそれはそれで面倒ですよね。
こういう時は公開鍵認証の設定をしてしまいましょう。
鍵ペアを作成する
まずは作業環境で鍵ペアを作りましょう。既に鍵ペアを持っている場合は、それを使っちゃってください。
[bash]
## ここでは id_rsa_nutanix というファイル名でキーペアを作ります。
$ ssh-keygen -t rsa -C 自分だと判別できるコメント -f ~/.ssh/id_rsa_nutanix
## パスフレーズの設定はお任せします。
Your identification has been saved in id_rsa_nutanix.
Your public key has been saved in id_rsa_nutanix.pub.
The key fingerprint is:
f4:d9:14:26:d7:e6:f6:21:c6:1a:60:66:ce:8e:0c:11 comment
The key’s randomart image is:
+–[ RSA 2048]—-+
省略
[/bash]
これで、秘密鍵 id_rsa_nutanix と公開鍵 id_rsa_nutanix_pub の鍵ペアが出来たと思います。
失敗例
先にやってはいけないことをご紹介します。
- ssh-copy-id での鍵登録はNGです。
- CVMへログインして、.ssh/authorized_keys に直接鍵を登録はNGです。
これらの方法でも、実際にはSSHログインできますが、それは1台のCVMだけです。
つまり、CVMが再起動するなど他のCVMにクラスターIPアドレスが移動したら、公開鍵認証に失敗してしまいます。
クラスター全体に設定する場合には、一般的なLinuxの公開鍵の設定方法とは異なるために注意してください。
正しいやり方
それでは、正しいやり方です。
Prismからやる方法とncliでやる方法があります。
Prismからやる方法はこちらから。
メニューから「クラスタロックダウン」を選択。
「新規公開鍵の登録」から登録できます。
また、「パスワードによるリモートログインを有効」を外すと、パスワード認証が出来なくなります。
次に、CVMでの設定方法です。
まずはCVMにSSHでログインします。
設定方法は以下の通り
[bash]
## 一時的にこちらに移動
$ cd /tmp/
## 公開鍵ファイルを設置
$ touch id_rsa_nutanix.pub
$ vi id_rsa_nutanix.pub
## このファイルに作業環境で作成した公開鍵を書いてください
$ ncli cluster list-public-keys
[None]
## 公開鍵を登録 (nameは分かりやすい名前に)
$ ncli cluster add-public-key name=yoshimura_pub file-path=/tmp/id_rsa_nutanix.pub
Name : yoshimura_pub
Public Key : ssh-rsa 省略
## 不要なので公開鍵ファイルを削除
$ rm /tmp/yoshimuta_pub
## 現在Clusterに登録されている公開鍵を確認
$ ncli cluster list-public-keys
Name : yoshimura_pub
Public Key : ssh-rsa 省略
[/bash]
これで完了です!
では作業完了からSSHでアクセスしてみましょう。
[bash]
$ ssh nutanix@CVMのIPアドレス -i ~/.ssh/id_rsa_nutanix
Nutanix Controller VM
Last login: Fri Mar 23 15:54:53 2018 from 10.0.10.1
nutanix@NTNX-xxxxxxxxxx-A-CVM:10.0.11.2:~$
[/bash]
公開鍵認証でログインできました!
最後に、クラスターから公開鍵の削除する方法もご案内します。
[bash]
## 現在Clusterに登録されている公開鍵を確認
$ ncli cluster list-public-keys
Name : yoshimura_pub
Public Key : ssh-rsa 省略
## 公開鍵 yoshimura_pub を削除
$ ncli cluster remove-public-key name=yoshimura_pub
Public key removed successfully
[/bash]
以上です。
それでは、また次回!