I\'m having a problem with a ShoreTel voice switch, and I\'m trying to use Paramiko to jump into it and run a couple commands. What I believe the problem might be, is that t
I assume that the gotoshell
and hapi_debug=1
are not top-level commands, but subcommands of the stcli
. In other words, the stcli
is kind of a shell.
In that case, you need to write the commands that you want to execute in the subshell to its stdin
:
stdin, stdout, stderr = ssh.exec_command('stcli')
stdin.write('gotoshell\n')
stdin.write('hapi_debug=1\n')
stdin.flush()
If you call stdout.read
afterwards, it will wait until the command stcli
finishes. What it never does. If you wanted to keep reading the output, you need to send a command that terminates the subshell (typically exit\n
).
stdin.write('exit\n')
stdin.flush()
print(stdout.read())