Python批量修改交换机密码的实现指南
本文介绍如何利用Python的paramiko库实现交换机密码的批量修改。通过安装依赖、编写SSH连接脚本并执行命令行指令,可自动化完成多台设备的配置更新与保存,提升网络运维效率。
环境准备与依赖安装
首先,需要通过pip命令安装Python第三方模块paramiko,这是实现SSH连接的基础依赖。
pip install paramiko
脚本编写与逻辑实现
接下来创建Python脚本文件,导入必要的模块并编写核心逻辑。
##导入paramiko、time、getpass模块
#!/usr/bin/python
import paramiko
import time
import getpass
##通过raw_input()函数获取用户输入的SSH用户名并赋值给username
username = raw_input('Username:')
##通过getpass模块中的getpass()函数获取用户输入字符串作为密码赋值给password
password = getpass.getpass('Password:')
##通过for i in range(1,5)和ip="192.168.100."+str(i)语句实现循环登录交换机SW1-SW4:100.1-4
for i in range(1,5):
ip="192.168.100."+str(i)
ssh_client=paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip,username=username,password=password)
command=ssh_client.invoke_shell()
##调度交换机命令行执行命令
command.send("system-view" +"\n")
command.send("aaa"+"\n")
command.send("local-user admin password cipher Jan16@Hw"+"\n")
##更改登录密码结束后,返回用户视图并保存配置
command.send("return"+"\n")
command.send("save"+"\n")
command.send("Y"+"\n")
command.send("\n")
##暂停2秒,并将命令执行过程赋值给output对象,通过print output语句回显内容
time.sleep(2)
output=command.recv(65535)
print output
##退出SSH
ssh_client.close()
脚本执行与结果验证
最后,在终端中执行该Python脚本,根据提示输入用户名和密码以完成批量修改操作。
python changepassword.py
Username:admin #手动输入SSH用户名,这里是admin
Password: #手动输入SSH用户密码,这里是原先密码
以上内容即为使用Python批量修改交换机密码的完整示例。如需了解更多相关技术细节,建议参考本站其他关于Python网络自动化的文章。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













