Conectar con el Oracle VM Command Line Interface (CLI) del Manager sin password

 

Algunas veces tienes que trabajar con la interfaz en línea de comandos del OVM Manager, por ejemplo para lanzar varios comandos a la vez, y es un poco tedioso tener que estar poniendo siempre la password:

[root@ovmmanager1 ~]# ssh -l admin localhost -p 10000
admin@localhost's password:
OVM>

 

Aquí dejo una manera un tanto ortodoxa de configurar su acceso sin introducir una password:

1) ssh

[root@ovmmanager1 ~]# ssh-keygen -t rsa -f ~/.ssh/admin
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/admin.
Your public key has been saved in /root/.ssh/admin.pub.
The key fingerprint is:
SHA256:MTxnKUOehUqMlXfTRpj3Jy7SLRoszH/EmcIWgk5J/jo root@ovmmanager1
The key's randomart image is:
+---[RSA 2048]----+
| +.....=. |
| . =+oo=.+ |
| + =X.++ . |
| * .O. o .|
| o +S+ + = o |
| . = B O o |
| . + * o |
| E o . |
| . . |
+----[SHA256]-----+

[root@ovmmanager1 ~]# cat /root/.ssh/admin.pub > /home/oracle/.ssh/ovmcli_authorized_keys

[root@ovmmanager1 ~]# eval `ssh-agent`
Agent pid 865

[root@ovmmanager1 ~]# ssh-add ~/.ssh/admin
Identity added: /root/.ssh/admin (/root/.ssh/admin)

[root@ovmmanager1 ~]# ssh admin@ovmmanager1 -p 10000
The authenticity of host '[ovmmanager1]:10000 ([192.168.115.40]:10000)' can't be established.
RSA key fingerprint is SHA256:3rw6ji5BCr3PeAcsKStsk8GrNU8mVaqGiC3dc/rSxC0.
RSA key fingerprint is MD5:f1:0b:f7:8f:39:e5:75:a4:e0:6e:a2:59:d8:fc:d5:32.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[ovmmanager1]:10000,[192.168.115.40]:10000' (RSA) to the list of known hosts.
OVM>

 

2) script

[root@ovmmanager1 ~]# cat ovmcli.sh
#!/bin/bash
eval `ssh-agent` >> /dev/null 2>&1
ssh-add ~/.ssh/admin >> /dev/null 2>&1
export ovmUser=admin
export adminServer=ovmmanager1
OVMCLI="ssh -o ServerAliveInterval=40 $ovmUser@$adminServer -p 10000"

$OVMCLI $@
ssh-agent -k >> /dev/null 2>&1

 

Una de las partes más importantes del script, es el último comando (que elimina el proceso ‘ssh-agent’ que hemos abierto), pues sin él, se irían acumulando los procesos ‘ssh-agent’ en el sistema operativo, ralentizando el mismo.

 

3) permisos

[root@ovmmanager1 ~]# chmod 700 ovmcli.sh

 

4) alias

alias ovmcli='/root/./ovmcli.sh'

 

El alias lo puedes añadir al final del fichero .bashrc en el $HOME del usuario.

 

Su ejecución daría este resultado:

[root@ovmmanager1 ~]# ovmcli
OVM>

 

También nos permite pasarle comandos directamente desde el prompt del SO:

[root@ovmmanager1 ~]# ovmcli list server
OVM> list server
Command: list server
Status: Success
Time: 2019-01-08 22:32:38,899 CET
Data:
id:37:38:36:38:33:30:5a:43:32:38:33:38:30:31:32:33 name:ovmsrv02
id:37:38:36:38:33:30:5a:43:32:38:33:38:30:31:32:32 name:ovmsrv01
OVM> Connection closed.

 

Si quieres configurarlo para el usuario ‘oracle’ sigue los mismos pasos 🙂

 

Añadiendo valor con Arumel!!