The Information Systems and Computer Applications examination covers material that is usually taught in an introductory college-level business information systems course.

sshpass – Conectar sin contraseña por SSH sin usar claves privadas

Si necesitamos automatizar una tarea, pero el servidor SSH no lo podemos definir que acepte nuestra clave pública: por ejemplo las consolas de gestión fuera de banda como las iLO o DRAC. Deberemos usar sshpass para pasarle el password:

Para conectar por ssh con sshpass, simplemente ejecutamos el mismo comando que usamos para conectar por ssh con sshpass delante, por ejemplo:

$ sshpass -p passw0rd ssh -l usuario host

Tenemos varias opciones para pasar la contraseña a sshpass:

  • Directamente la contraseña como parámetro con la opción -p. Dicha contraseña de sustituye por Zs por lo que no queda visible:
    |       \_ sshpass -p zzzzzzzzzzzzz ssh -l root 10.10.40.155
    |           \_ ssh -l root 10.10.40.155
    
  • Mediante un fichero, indicamos el path del fichero con la opción -f. De esta forma si el fichero tiene los permisos adecuados es suficientemente seguro.
  • Mediante una variable de entorno. Si indicamos la opción -e espera que la contraseña se encuentre en la variable SSHPASS que podemos pasar al lanzar el proceso:
    SSHPASS="passw0rd" sshpass -e ssh -l root 1.2.3.4
    

    Dicha variable no queda imposible de recuperar, se puede extraer igualmente mediante el procfs, pero de nuevo queda protegida por los permisos de usuario:

    # cat /proc/4301/environ 
    SSHPASS=passw0rd(...)
    
    
    
    
    Al pasar el comando tal cual a sshpass, podemos también ejecutar comandos remotos o cualquier otra opción que tenga el ssh o el comando que necesitemos. En realidad, sshpass, se dedica únicamente a pasar la contraseña cuando la pide:
    # sshpass -p passw0rd ssh -l root 10.12.40.155 show
    dispatch_protocol_error: type 100 seq 8
    show
    status=0
    status_tag=COMMAND COMPLETED
    
    
    /
      Targets
        system1
        map1
      Properties
      Verbs
        cd version exit show
    
    
    </>hpiLO->
    
    Tags: 

    Relacionados




    sshpass – Conectar sin contraseña por SSH sin usar claves privadas was first posted on September 25, 2013 at 11:46 am.

Comments are closed.