Este posts es una nota mental y una respuesta a mi mismo, les cuento un poco la historia.
Tengo un servidor SunFire v245, nada del otro mundo, pero una buena maquina para experimentar cosas relacionadas con los procesadores sparc. El asunto es que esta maquina la instalé con solaris 10 y obviamente puse una contraseña de root tan fuerte que la olvidé.
La maquina no tiene teclado sparc, tampoco tiene tarjeta de video y tiene 2 discos de 70GB, uno de ellos con /dev/null.
La pregunta que hice en algun momento era, como hago para entrar nuevamente al sistema operativo?, como recupero la contraseña de la ALOM?.
En fin, la ALOM tiene muchas funcionalidades, pero como mencionaba al principio, por seguridad tiene un sistema de user,password para validar el acceso y una vez esta configurado es necesario entrar al sistema operativo solaris para poder cambiar estas claves.
Despues de leer e intentar soluciones, logré recuperarla con una mezcla de cosas:
1. Primero necesitaba arrancar el servidor desde un LiveCD.
Pero la maquina estaba configurada para arrancar por discos siempre, por lo que no me era posible. La solución entonces fue sacar los discos duros, encender la maquina (con el cable serial conectado a TTYB y usando putty-->serial), despues de hacer el POST e intentar arrancar por los discos sin éxito, la maquina se tira a un prompt "ok>", desde este prompt puedo hacer cosas básicas, como por ejemplo decirle que arranque desde el CDROM.
setenv boot cdrom o algo similar, se puede usar help para ver los comandos disponibles.
2. Al poder arrancar del CDROM/DVD lo que necesitaba era un LIVECD que cargue un sistema tipo Unix, no tenia a la mano los CDS de Solaris/Sparc, pero creo que eran la solución directa. Lo que hice fue cargar OpenBSD/Sparc y llegar hasta el menú de instalación inicial y luego insertar los discos (en caliente) y luego salirme al shell de OpenBSD.
Desde allí monté (mount blah blah blah) las particiones del solaris que estaba disponible y de esta forma pude entrar al contenido del disco, ahora que?
3. Se pueden hacer varias cosas, pero como lo que quiero hacer es reinstalar el sistema operativo solaris, entonces borré el /etc/shadow. Jaja, tambien pude haber creado un usuario con privilegios de root con una contraseña conocida, o pude haber modificado solo el campo de la contraseña para el root en el archivo /etc/shadow, etc, etc.. pero no!, Yo queria borrar el shadow. (No lo hagan en casa a menos que quieran aprender a solucionar problemas)
4. Con el /etc/shadow eliminado reinicié la maquina, con los dos discos conectados, entre en el prompt "ok>", le dije que arrancara de discos y esperé ...
En la secuencia de booteo de solaris, no encuentra el /etc/shadow e inmediatamente me tira al shell de root (un bug de seguridad?, LOL), pero el sistema se monta en solo lectura. Así que no es que pueda hacer mucho, pero si puedo ejecutar los comandos necesarios para revivir la ALOM.
Tengo un servidor SunFire v245, nada del otro mundo, pero una buena maquina para experimentar cosas relacionadas con los procesadores sparc. El asunto es que esta maquina la instalé con solaris 10 y obviamente puse una contraseña de root tan fuerte que la olvidé.
La maquina no tiene teclado sparc, tampoco tiene tarjeta de video y tiene 2 discos de 70GB, uno de ellos con /dev/null.
La pregunta que hice en algun momento era, como hago para entrar nuevamente al sistema operativo?, como recupero la contraseña de la ALOM?.
La ALOM para que se hagan la idea, es un software instalado en un chip (entonces es un firmware) que permite administrar remotamente el servidor, pero esta administración no es lo que se imaginan. Dentro de las caracteristicas estan por ejemplo:
- Poder ejecutar rutinas de chequeos de hardware (POSTS)
- Habilitar conectividad por red, por una tarjeta independiente a las de 1Gpbs disponibles
- Habilitar acceso por serial, telnet o ssh y tener un CLI para ejecutar los comandos
- Hablitar un sistema de registros o alertas a servidores SYSLOG o habilitarle la posibilidad de enviar estos registros por correo electrónico.
En fin, la ALOM tiene muchas funcionalidades, pero como mencionaba al principio, por seguridad tiene un sistema de user,password para validar el acceso y una vez esta configurado es necesario entrar al sistema operativo solaris para poder cambiar estas claves.
¿Como hacemos entonces?
Despues de leer e intentar soluciones, logré recuperarla con una mezcla de cosas:
1. Primero necesitaba arrancar el servidor desde un LiveCD.
Pero la maquina estaba configurada para arrancar por discos siempre, por lo que no me era posible. La solución entonces fue sacar los discos duros, encender la maquina (con el cable serial conectado a TTYB y usando putty-->serial), despues de hacer el POST e intentar arrancar por los discos sin éxito, la maquina se tira a un prompt "ok>", desde este prompt puedo hacer cosas básicas, como por ejemplo decirle que arranque desde el CDROM.
setenv boot cdrom o algo similar, se puede usar help para ver los comandos disponibles.
2. Al poder arrancar del CDROM/DVD lo que necesitaba era un LIVECD que cargue un sistema tipo Unix, no tenia a la mano los CDS de Solaris/Sparc, pero creo que eran la solución directa. Lo que hice fue cargar OpenBSD/Sparc y llegar hasta el menú de instalación inicial y luego insertar los discos (en caliente) y luego salirme al shell de OpenBSD.
Desde allí monté (mount blah blah blah) las particiones del solaris que estaba disponible y de esta forma pude entrar al contenido del disco, ahora que?
3. Se pueden hacer varias cosas, pero como lo que quiero hacer es reinstalar el sistema operativo solaris, entonces borré el /etc/shadow. Jaja, tambien pude haber creado un usuario con privilegios de root con una contraseña conocida, o pude haber modificado solo el campo de la contraseña para el root en el archivo /etc/shadow, etc, etc.. pero no!, Yo queria borrar el shadow. (No lo hagan en casa a menos que quieran aprender a solucionar problemas)
4. Con el /etc/shadow eliminado reinicié la maquina, con los dos discos conectados, entre en el prompt "ok>", le dije que arrancara de discos y esperé ...
En la secuencia de booteo de solaris, no encuentra el /etc/shadow e inmediatamente me tira al shell de root (un bug de seguridad?, LOL), pero el sistema se monta en solo lectura. Así que no es que pueda hacer mucho, pero si puedo ejecutar los comandos necesarios para revivir la ALOM.
bash-3.00# pwd
/usr/platform/SUNW,Sun-Fire-V245/sbinbash-3.00# ls
eeprom fruadm prtdiag scadm trapstat
bash-3.00#./scadm userpassword admincontraseña: nonroot
ota es: nonroot
bash-3.00#
5. Solo nos queda probar, pasandonos al modo ALOM (#.) e ingresando la clave nonroot para el usuario admin. (Ojo, siempre despues del reset, la clave será nonroot :p)
Copyright 2007 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Sun(tm) Advanced Lights Out Manager 1.6.6 (unknown)
Please login: admin
Please Enter password: *******
y>
y> help
Available commands
------------------
poweron [-c] {FRU}
poweroff [-y] [-f]
removefru [-y] {FRU}
reset [-y] [-x] [-c]
break [-y] [-c]
bootmode [normal|reset_nvram|diag|skip_diag|bootscript="string"]
console [-f]
consolehistory [-b lines|-e lines|-v] [-g lines] [-p|boot|run]
dumpconfig [-t] -s-f
showlogs [-b lines|-e lines] [-g lines] [-v] [-p logtype[r|p]]
setlocator [on|off]
showlocator
showenvironment
setfru -c
showfru [-g lines] [-s|-d] [FRU]
showplatform [-v]
setkeyswitch [-y] [normal|stby|diag|locked]
showkeyswitch
showsc [-v] [param]
shownetwork [-v]
setsc [-r [y]] [param] [value]
ssh-keygen {-l|-r} -t {rsa|dsa}
restartssh [-y]
setupsc
showdate
setdate [[mmdd]HHMM | mmddHHMM[cc]yy][.SS]
resetsc [-y]
restoreconfig [-t] [-x] [-y] -s-f
flashupdate -s-f [-v]
setdefaults [-y] [-a]
useradd
userdel [-y]
usershow [username]
userpassword
userperm[c][u][a][r]
password
showusers [-g lines]
logout
help [command]
y>
Y listo!, ahora solo queda reparar o reinstalar el solaris. ;)
Salud!
1 comentario:
Buenas noches:
he leido tu articulo con interes y estoy en una situacion un poco similar a la tuya. Adquiri para la escuela un viejo server Sunfire V245 y he intentado acceder a el, como esta sin placa de video lei la documentacion de Sun al respecto pero no me quedan cosas en claro. Serias tan amable de detallarme como has realizado la conexion serial con putty al puerto? Me seria de mucha utilidad porque no logro conectarme de ninguna manera y me esta faltando una guia como la tuya. Muchas gracias, saludos desde Corrientes/Argentina.
Publicar un comentario