1

请原谅我,因为我对任何编程语言都很陌生。我有大约 25 个网络设备组合,包括 cisco、juniper、linux 等,我需要远程访问并运行一些基本的 cli 命令来获取输出。单独通过 SSH 连接到设备需要很长时间。有人能告诉我从哪里开始这个基本脚本吗?

4

2 回答 2

1

您可以使用NetmikoNAPALM

这两个 python 库支持几乎所有不同的供应商设备。

https://napalm.readthedocs.io/en/latest/index.html

https://pynet.twb-tech.com/blog/automation/netmiko.html

于 2019-02-23T13:29:54.223 回答
1

尝试以下操作:

pip install paramiko

然后在你的脚本中:

import base64
import paramiko
key = paramiko.RSAKey(data=base64.b64decode(b'AAA...'))
client = paramiko.SSHClient()
client.get_host_keys().add('ssh.example.com', 'ssh-rsa', key)
client.connect('ssh.example.com', username='strongbad', password='thecheat')

def run_command(command)
    stdin, stdout, stderr = client.exec_command(command)
    for line in stdout:
        print('... ' + line.strip('\n'))
    return True

run_command('ls')
run_command('cd..')
run_command('apt-get update')


client.close()
于 2019-02-20T11:58:15.783 回答