技术栈
python自动化配置交换机
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
了解Securecrt软件的人,都知道这个软件什么都好。唯一令人苦恼的是,当需要维护的设备达到一定数量时,如几十甚至上百台时,在Securecrt上手动添加session的工作就会变得很繁重且重复低下...
删除无法右键删除的顽固文件
新建一个文本文件输入DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1然后将文本文档保存为.bat格式的。将无法删除的文件拖至.bat文件上就会自动删除了...
华为huawei交换机端口安全配置命令
华为交换机端口安全session 1 端口安全 在网络中MAC地址是设备中不变的物理地址,控制MAC地址接入就控制了交换机的端口接入,...
谁动了我的骨干网 IP?
现在的网络工程师行业总是充斥下面这些极端现象:✔ 很多人做网络,可能做了那么久,连OSPF的场景都没遇到过。就算遇到了,也都是OSPF单区域,都没碰到过OSPF多区域。于是他们下了结论:OS...
iTop二次开发教程-iTop内置账号角色权限说明
下表为iTop内置角色权限说明,内置了1个管理员权限和12个功能角色权限。管理员账户暂时不公开。其它登陆账户如下。角色 描述Administrator 具有最高权限,能绕过任何控制Change App...