J'essaie d'accéder aux périphériques réseau accessibles uniquement si SSH provient d'un hôte bastion qui exécute SunOS (pas de support proxycommand) ou ssh tunneling)Exscript: Accès aux périphériques réseau distants via un hôte bastion tout en utilisant des pilotes spécifiques aux périphériques pour reconnaître l'invite de périphérique
Mon approche serait d'utiliser le pilote générique pour accéder à l'hôte bastion. et de là à utiliser 'ssh remotedevicename' pour se connecter au périphérique distant.
Dans mon cas, l'appareil distant nécessite une seule authentification étape qui me laisse tomber à l'invite # (niveau 15 accès pour les périphériques Cisco)
je parviens à authentifier, mais je ne peux pas envoyer des commandes
ici est ce que j'utilise
conn = SSH2()
conn.debug=5
conn.set_driver('generic')
conn.connect('bastion')
conn.login(account)
print conn.response
conn.send('ssh 1.1.1.1\n')
conn.expect('Password:')
print conn.response
conn.send('password\n')
à ce stade, je pense que je devrais changer le pilote avec
conn.set_driver('nxos')
conn.execute ("show cdp neighbors\n")
mais après avoir fait que les temps de script avec
nxos: Sending 'show cdp neighbors\n\r'
nxos: Expecting a prompt
nxos: Expected pattern: ["'[\\\\r\\\\n][\\\\-\\\\w+\\\\.:/]+(?:\\\\([^\\\\)]+\\\\))?[>#] ?$'"]
Traceback (most recent call last):