探索一种超级简单且实用的自动化运维技巧

发表时间: 2024-02-21 11:09


推荐一个超简单好用的自动化运维方法


Python的Paramiko模块


Python的Paramiko模块封装层次较高,几行代码即可轻松实现ssh登录设备,发送命令,并接收回显等功能。

针对大量linux或者设备需要批量操作的场景十分好用。

分享一下代码。


import paramiko


# 创建SSH对象

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())


# 连接服务器,这里需要关注hostname参数实际填写的是IP地址。

ssh.connect(hostname='your IP', port=22, username=' username ', password=' password ')


# 执行命令,参数中填入待执行的命令

stdin, stdout, stderr = ssh.exec_command('display interface null', get_pty=True)

# 获取命令输出

output = stdout.read().decode('utf-8')


# 将输出保存到文件

with open('output.txt', 'w') as f:

f.write(output)


# 关闭连接,如果使用的exec_command方法实测会关闭连接,此处不再需要关闭连接

# ssh.close()


再给各个设备循环调用上述内容即可在所有设备上执行该命令并获得回显。将人释放出来做更有意义的事。


注意一点是,这个方法必须要求在执行代码的机器与待操作设备网络通畅,能够进行ssh登录。

#网络工程师#