L'automazione dell'accesso SSH fornisce una shell remota che non risponde, ricadendo sul client-terminal (senza errori)


1

Ho un problema con lo strumento previsto in Ubuntu 14.04 LTS. Voglio automatizzare gli accessi ssh ad alcuni firewall Sophos UTM ed eludere i miei diritti direttamente dopo "sudo su -" e la password corretta. Non devo preoccuparmi delle password in testo semplice, perché il mio script viene eseguito direttamente dal campo dell'URL KeePass (doubleclick esegue lo script e lo riempie con le password corrette tramite agrument / KeePass {Placeholder} dietro lo script). Sono riuscito a fare tutto questo, tranne che per avere una shell di root remota, che non sta eseguendo alcun comando e "rimandando la connessione" al mio sistema Ubuntu. Quindi il comando che sto cercando di eseguire da remoto non è in esecuzione per 4-5 secondi e poi viene improvvisamente eseguito sul sistema Ubuntu, senza dirmi cosa è successo.

Cosa devo fare per avere una shell remota perfettamente funzionante? Le chiavi SSH e il login root non sono una soluzione per me, dato che abbiamo troppi Sophos UTM là fuori.

Spiegazione delle cose che accadono:

sshtool.sh:
#!/usr/bin/expect -f
spawn sshpass -pPASSWORD ssh -t loginuser@192.168.1.254 "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 loginuser@192.168.1.254 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:~$

Cambiare lo script in questo modo, non aiuta a risolvere il problema della connessione:

sshtool.sh:
#!/usr/bin/expect -f
spawn ssh loginuser@192.168.1.254
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 loginuser@192.168.1.254
loginuser@192.168.1.254'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:~$

Grazie in anticipo!


Risposte:


1

Se vuoi una shell remota "reattiva", hai bisogno di una interact comando dopo aver completato lo scambio di accesso. Qualcosa come questo:

#!/usr/bin/expect -f
spawn sshpass -pPASSWORD ssh -t loginuser@192.168.1.254 "sudo su -"
expect -- "oot's password:"
send "PASSWORD\r"
expect -- "/root #"
interact
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.