2017年12月3日日曜日

Oracle VM Manager の ovmcli 接続を工夫してみる。

Oracle VM Manager 3.x(OVMM)への ovmcli 接続を工夫して、
接続先の指定やパスワード入力なしでの接続ができるようにしてみます。

通常だとこのように接続するところ・・・
[gowatana@vm01 ~]$ ssh -p 10000 -l gowatana ovmm344.go-lab.jp
gowatana@ovmm344.go-lab.jp's password: ★パスワード入力
OVM>

下記のように接続できるようになります。
[gowatana@vm01 ~]$ ovmcli
OVM>

ovmcli を実行するサーバでの準備。
ovmcli を使用するユーザを作成しておきます。
今回は、gowatana ユーザを作成していますが、
これは OVMM のログインユーザとは別のユーザ名でも構いません。
(たとえば OS の root → OVMM の admin ユーザログインでも OK)
[root@vm02 ~]# cat /etc/oracle-release
Oracle Linux Server release 7.4
[root@vm02 ~]# useradd gowatana
[root@vm02 ~]# su - gowatana
[gowatana@vm02 ~]$

SSH 鍵ファイルを作成しておきます。
[gowatana@vm02 ~]$ ssh-keygen -t rsa -P '' -f ~/.ssh/ovmcli
Generating public/private rsa key pair.
Created directory '/home/gowatana/.ssh'.
Your identification has been saved in /home/gowatana/.ssh/ovmcli.
Your public key has been saved in /home/gowatana/.ssh/ovmcli.pub.
The key fingerprint is:
SHA256:rwEJBLb9604Kn8K0kx91Xq4Ww7qEII+OjfZ7TYtcIRo gowatana@vm02
The key's randomart image is:
+---[RSA 2048]----+
|  o..            |
| . +             |
|  . o            |
|   E + o         |
|. . o *.S .      |
| +.o o B++       |
|.ooo+ O.+oo      |
|o+*o @.o.+       |
|+.o*B.+oo        |
+----[SHA256]-----+
[gowatana@vm02 ~]$

このあと OVMM には、公開鍵の方(~/.ssh/ovmcli.pub)を登録します。
[gowatana@vm02 ~]$ ls -l ~/.ssh/ovmcli*
-rw-------. 1 gowatana gowatana 1675 12月  3 12:45 /home/gowatana/.ssh/ovmcli
-rw-r--r--. 1 gowatana gowatana  395 12月  3 12:45 /home/gowatana/.ssh/ovmcli.pub
[gowatana@vm02 ~]$ cat ~/.ssh/ovmcli.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB(省略)Nk9 gowatana@vm02
[gowatana@vm02 ~]$

SSH の設定ファイルに、ovmcli の接続を簡略化する設定をしておきます。
  • 今回の接続先 OVMM は ovmm344.go-lab.jp です。
  • 今回は、OVMM にも gowatana ユーザを作成ずみです。
    Oracle VM Manager 3.x のログイン ユーザ作成。
  • ついでに OVMM から自動切断されないように ServerAliveInterval も設定しています。
Host ovmcli
  Hostname ovmm344.go-lab.jp
  Port 10000
  User gowatana
  IdentityFile ~/.ssh/ovmcli
  ServerAliveInterval 30

設定は ~/.ssh/config ファイルを作成して記載します。
[gowatana@vm02 ~]$ vi ~/.ssh/config
[gowatana@vm02 ~]$ chmod 600 ~/.ssh/config
[gowatana@vm02 ~]$ cat ~/.ssh/config
Host ovmcli
  Hostname ovmm344.go-lab.jp
  Port 10000
  User gowatana
  IdentityFile ~/.ssh/ovmcli
  ServerAliveInterval 30

OVMM での準備。
OVMM の oracle ユーザに、接続元サーバで作成した公開鍵を登録します。
OVMM には、デフォルトで何も記載されていない
~oracle/.ssh/ovmcli_authorized_keys ファイルが作成されています。
[root@ovmm344 ~]# su - oracle
[oracle@ovmm344 ~]$ ls -l .ssh/ovmcli_authorized_keys
-rw-------. 1 oracle dba 0 11月 25 13:18 .ssh/ovmcli_authorized_keys

鍵を登録します。
[oracle@ovmm344 ~]$ vi ~oracle/.ssh/ovmcli_authorized_keys
[oracle@ovmm344 ~]$ cat ~oracle/.ssh/ovmcli_authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA(省略)ohxYNk9 gowatana@vm02
[oracle@ovmm344 ~]$

ovmcli を実行するサーバから OVMM に接続してみる。
「ssh ovmcli」で接続してみます。
初回のみ、fingerprint の確認があります。
[gowatana@vm02 ~]$ ssh ovmcli
The authenticity of host '[ovmm344.go-lab.jp]:10000 ([192.168.4.100]:10000)' can't be established.
DSA key fingerprint is ea:b9:02:a6:6a:28:3d:c0:7d:2e:ed:5c:5d:7b:a2:0d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[ovmm344.go-lab.jp]:10000,[192.168.4.100]:10000' (DSA) to the list of known hosts.
OVM>

exit で切断できます。
OVM> showversion
3.4.4.1709
OVM> exit
Connection to ovmm344.go-lab.jp closed.
[gowatana@vm02 ~]$

こんな使い方もできるようになります。
[gowatana@vm02 ~]$ ssh ovmcli showversion
OVM> showversion
3.4.4.1709
OVM> Connection closed.
[gowatana@vm02 ~]$

さらに簡略化。
alias を設定しておきます。
.bash_profile に追記して、ログインしなおすと・・・
[gowatana@vm02 ~]$ echo 'alias ovmcli="ssh ovmcli"' >> ~/.bash_profile

このように接続することもできます。
ただし、ここまで簡略化できるのはユーザあたり OVMM が1台の時だけです。
[gowatana@vm02 ~]$ ovmcli
OVM>

以上、ovmcli への接続方法を簡略化してみる話でした。

0 件のコメント:

コメントを投稿