Entering enable mode using JSch
Does anybody have any example code on how to enter enable mode when using JSch? I already have the script working for 95% of my devices, so i don’t want to have to switch to expect. The channel mode is currently exec, which i think is the issue. It’s trying to execute `enable\n${enable_pass}\n${cmd}` all at once and the device is choking on it. Would rather not have to switch to shell mode, but if there’s no way to do it without shell mode, i guess i’ll have to take a stab at it.
LM User
Posted 2 years ago·Last reply 2 years ago
3 comments
LM User
OP2 years agoPlus, if i’m going to switch to shell, i might as well switch to expect.
LM User
OP2 years agoActually, since it’s such a small number of devices, we’re just going to deem those unsupported. We’ll either have the customer change that user’s permissions so it’s not required or not monitor it.
It would be nice to have a good example that works from LM (among so many other needed code examples). Has anyone at LM taken ownership of the monitoring-recipies repo?
It would actually be nice to have a built in collection method that would simplify building modules that use SSH.
Kirby_Narine
·2 years agoIt does seem like shell mode would be your best bet.
That being said you could introduce a false sort of delay if you really wanted to use exec.
https://epaul.github.io/jsch-documentation/simple.javadoc/com/jcraft/jsch/ChannelExec.html
Maybe something like:
There could be issues depending on how certain devices response, or if connection session up/down takes an extended amount of time.
Using shell would be easier for sure, and more consistent across devices, but hope this helps!