Python批量修改交换机密码的实现指南

林见深
林见深
发布时间:2026-10-14| 4人浏览过
原创

本文介绍如何利用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网络自动化的文章。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。