请求提供PyCharm Python2.7下用Paramiko SSH Cisco C220的健康查询示例
使用Paramiko连接Cisco C220服务器并查询健康状态(Python 2.7)
没问题,我来给你提供一个适配PyCharm Python 2.7环境的示例脚本,帮你快速实现SSH连接Cisco C220服务器并执行健康状态查询的自动化操作。
第一步:环境准备
首先确保你的Python 2.7环境已经安装了适配版本的Paramiko——因为高版本Paramiko不再支持Python 2.7,所以需要指定版本安装:
pip install paramiko==2.4.2
在PyCharm里,你可以直接在终端执行这条命令,或者通过Project Interpreter界面搜索安装对应版本。
第二步:完整示例脚本
下面的脚本会通过SSH连接到指定IP的Cisco C220服务器,执行健康状态查询命令,并返回输出结果:
import paramiko import traceback def check_cisco_server_health(server_ip, username, password): # 初始化SSH客户端 ssh_client = paramiko.SSHClient() try: # 自动添加未知主机的密钥(测试环境可用,生产环境建议手动配置密钥) ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 建立SSH连接 ssh_client.connect( hostname=server_ip, username=username, password=password, port=22, timeout=10 ) print(f"成功连接到服务器 {server_ip}") # 执行健康状态查询命令(Cisco C220常用的健康查询命令,可根据实际情况替换) # 比如使用ipmitool查询传感器状态,或者Cisco专用的ucs-cmc-cli命令 command = "/opt/cisco/bin/ucs-cmc-cli show system status" stdin, stdout, stderr = ssh_client.exec_command(command) # 获取命令输出和错误信息 output = stdout.read().decode('utf-8') error = stderr.read().decode('utf-8') if output: print("=== 服务器健康状态输出 ===") print(output) if error: print("=== 命令执行错误信息 ===") print(error) except Exception as e: print(f"连接或执行命令失败: {str(e)}") traceback.print_exc() finally: # 确保关闭SSH连接 if ssh_client.get_transport() and ssh_client.get_transport().is_active(): ssh_client.close() print("已关闭SSH连接") # 替换为你的服务器信息 if __name__ == "__main__": SERVER_IP = "x.x.x.x" USERNAME = "your_username" PASSWORD = "your_password" check_cisco_server_health(SERVER_IP, USERNAME, PASSWORD)
关键说明与注意事项
- 命令替换:脚本中使用的
/opt/cisco/bin/ucs-cmc-cli show system status是Cisco C220服务器专用的健康查询命令,如果你需要更详细的硬件状态,也可以替换为ipmitool sensor list(需要服务器已安装ipmitool)。 - 安全建议:生产环境中不建议直接在脚本里明文写密码,推荐使用SSH密钥认证。如果要切换密钥认证,可以把
connect方法改为:ssh_client.connect( hostname=server_ip, username=username, key_filename="/path/to/your/private_key", port=22, timeout=10 ) - 主机密钥安全:
AutoAddPolicy()会自动信任未知主机,生产环境建议提前将服务器主机密钥添加到本地known_hosts文件,避免安全风险。 - 异常处理:脚本中加入了基础的异常捕获和连接关闭逻辑,确保即使出错也不会残留未关闭的SSH连接。
内容的提问来源于stack exchange,提问作者JACK
相关产品推荐
相关产品推荐

