技术栈

技术栈

python自动化配置交换机

4年前 (2020-08-24) 热度:1135 ℃

1.首先创建好py文件

touch 123.py

2. 编写123.py

vi 123.py

paramiko
time

ip = username = password = ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ipusername=usernamepassword=password)

print
ip

command = ssh_client.invoke_shell()

command.send()
command.send()
command.send()
command.send()
command.send()
time.sleep()
output = command.recv()
print
output

ssh_client.close

然后进入命令模式,:wq保存退出vi

3. 需要更改123.py的权限,根据需要更改,这里主要用于测试,不放设置777

chmod 777 123.py

4. 这时可以在当前目录中直接运行123.py(类似windows中直接执行exe)

./123.py



代码部分讲解:

  • 除了Paramiko外,我们还import了time这个Python自带的模块,它的作用后面会讲到

  • ip, username, password这三个变量很直接明了,只需注意它们的类型必须是string(字符串)。

  • sshclient = paramiko.SSHClient(), 调用paramiko的SSHClient()方法将其assign给ssh_client这个变量。顾名思义,这里我们的CentOS主机是做SSH client,而SSH server则是我们要登陆的S1交换机(192.168.2.11)。

  • 默认情况下,Paramiko会拒绝任何未知的SSH public keys,这里我们使用ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 来让Paramiko接受来自SSH Server端(也就是S1)提供的public key。

  • ssh_client.connect(hostname=ip,username=username,password=password),很好理解,调用Paramiko的connect()函数,使用我们预设好的ip, username, password来登陆S1。

  • 如果登陆成功,用print "Sucessfully login to ", ip来提示用户登录成功,并显示所登陆的交换机的ip地址,这里为192.168.2.11

  • command = ssh_client.invokeshell(),调用paramiko的invoke_shell()方法,将其assign给command这个变量。

  • 现在可以让command配合send()这个函数来对交换机发号施令了,后面的命令就不讲了,这些对网工来说应该是整个script里面最熟悉的部分了。

  • time.sleep(1),前面提到了我们import了time这个模块。有时候系统运行script时会有延迟,它的作用是让系统稍侯1秒钟,再执行下面的语句。

  • output = command.recv(65535),python截屏本次运行script后的所有输出记录,将其assign给output这个变量。

  • print output, 再将output打印出来,这样你在运行python的过程中就能清楚看到python sciprt对你的交换机做了些什么。

  • ssh_client.close,最后记得养成好习惯,退出SSH。


打赏

相关文章

Secure crt软件批量生成、添加会话session

Secure crt软件批量生成、添加会话session

了解Securecrt软件的人,都知道这个软件什么都好。唯一令人苦恼的是,当需要维护的设备达到一定数量时,如几十甚至上百台时,在Securecrt上手动添加session的工作就会变得很繁重且重复低下...

删除无法右键删除的顽固文件

删除无法右键删除的顽固文件

新建一个文本文件输入DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1然后将文本文档保存为.bat格式的。将无法删除的文件拖至.bat文件上就会自动删除了...

华为huawei交换机端口安全配置命令

华为huawei交换机端口安全配置命令

 华为交换机端口安全session 1 端口安全        在网络中MAC地址是设备中不变的物理地址,控制MAC地址接入就控制了交换机的端口接入,...

谁动了我的骨干网 IP?

谁动了我的骨干网 IP?

现在的网络工程师行业总是充斥下面这些极端现象:✔ 很多人做网络,可能做了那么久,连OSPF的场景都没遇到过。就算遇到了,也都是OSPF单区域,都没碰到过OSPF多区域。于是他们下了结论:OS...

iTop二次开发教程-iTop内置账号角色权限说明

iTop二次开发教程-iTop内置账号角色权限说明

下表为iTop内置角色权限说明,内置了1个管理员权限和12个功能角色权限。管理员账户暂时不公开。其它登陆账户如下。角色 描述Administrator 具有最高权限,能绕过任何控制Change App...