初学者Python脚本,用于SSH到远程网络设备并运行多个命令

时间:2019-02-20 10:26:00

标签: python junos-automation pyez

请原谅我,因为我是任何编程语言的新手。我大约有25种网络设备,包括cisco,juniper,linux等,它们需要远程访问并运行一些基本的cli命令以获取输出。单独SSH登录到设备将花费很长时间。有人可以告诉我从哪里开始这个基本脚本吗?

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分:0)

您可以使用NetmikoNAPALM。这两个python库几乎支持所有不同的供应商设备。

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

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