La automatización del inicio de sesión SSH genera un shell remoto que no responde y vuelve al terminal del cliente (sin errores)

La automatización del inicio de sesión SSH genera un shell remoto que no responde y vuelve al terminal del cliente (sin errores)

Tengo un problema con la herramienta que se espera en Ubuntu 14.04 LTS. Quiero automatizar los inicios de sesión ssh en algunos Sophos UTM Firewalls y actualizar mis derechos directamente después con "sudo su -" y la contraseña correcta. No tengo que preocuparme por las contraseñas de texto sin formato, porque mi script se ejecuta directamente desde el campo URL de KeePass (al hacer doble clic se ejecuta el script y lo completa con las contraseñas correctas a través de agrument/KeePass {Placeholder} detrás del script). Logré hacer todo esto, excepto tener un shell de raíz remota, que no ejecuta ningún comando y "corta la conexión" a mi sistema Ubuntu. Entonces, el comando que estoy intentando ejecutar de forma remota no se ejecuta durante 4 o 5 segundos y luego se ejecuta repentinamente en el sistema Ubuntu, sin decirme qué sucedió.

¿Qué tengo que hacer para tener un shell remoto en pleno funcionamiento? Las claves SSH y el inicio de sesión directo como root no son una solución para mí, ya que tenemos demasiados Sophos UTM por ahí.

Cosas explicadas que suceden:

sshtool.sh:
#!/usr/bin/expect -f
spawn sshpass -pPASSWORD ssh -t [email protected] "sudo su -"
expect -- "oot's password:"
send "PASSWORD\r"
expect -- "/root #"
expect eof



What happens in the terminal:
vct@vct-virtual-machine:~$ ./sshtool.sh
spawn sshpass -pPASSWORD ssh -t [email protected] sudo su -
root's password:
utm:/root # whoami
# *enter*
# not reacting for 4-5 seconds
vct@vct-virtual-machine:~$ whoami
vct
vct@vct-virtual-machine:~$

Cambiar el script de esta manera no ayuda con el problema de la caída de la conexión:

sshtool.sh:
#!/usr/bin/expect -f
spawn ssh [email protected]
expect -- "password:"
send "PASSWORD\r"
expect -- "/home/login > "
send -- "sudo su -\r"
expect -- "oot's password:"
send "PASSWORD\r"
expect -- "/root #"
send -- "whoami\r"
expect eof


vct@vct-virtual-machine:~$ ./sshtool.sh
spawn ssh [email protected]
[email protected]'s password:
Last login: Mon Apr 18 09:14:41 2016 from 192.168.1.44


Sophos UTM
(C) Copyright 2000-2015 Sophos Limited and others. All rights reserved.
Sophos is a registered trademark of Sophos Limited and Sophos Group.
All other product and company names mentioned are trademarks or registered
trademarks of their respective owners.

For more copyright information look at /doc/astaro-license.txt
or http://www.astaro.com/doc/astaro-license.txt

NOTE: If not explicitly approved by Sophos support, any modifications
      done by root will void your support.

<M> loginuser@utm:/home/login > sudo su -
root's password:
# Following "whoami" directly executed by the script itself works fine
<M> utm:/root # whoami
root
# After 4-5 seconds, it's dropping the connection again
<M> utm:/root # vct@vct-virtual-machine:~$

¡Gracias de antemano!

Respuesta1

Tuve un problema similar a este. El problema era que mi archivo .bashrc remoto tenía algunas líneas que no hacían nada si no se ejecutaban de forma interactiva.

información relacionada