• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

华三设备运行python代码,ssh登录设备后,执行多条命令报错

2024-03-21提问
  • 0关注
  • 0收藏,174浏览
粉丝:0人 关注:0人

问题描述:

如果python文件内,执行一条命令,就可以执行,但执行命令超过一条后,就会报错,提示:Administratively prohibited

组网及组网描述:

import os
import paramiko

def execute_commands_on_device(hostname, username, password, commands, backup_dir):
try:
# 建立SSH连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, username=username, password=password)

# 遍历命令列表并执行
for cmd in commands:
# 执行命令
stdin, stdout, stderr = ssh.exec_command(cmd)
output = stdout.read().decode()
error = stderr.read().decode()

# 处理命令输出和错误
if output:
print(f"Command '{cmd}' output:")
print(output)
if error:
print(f"Command '{cmd}' error:")
print(error)

# 生成备份文件的路径和文件名
filename = f"{hostname}_{cmd.replace(' ', '_')}.txt"
backup_path = os.path.join(backup_dir, filename)

# 保存命令输出到文件
with open(backup_path, "w") as file:
file.write(output)

print(f"Command '{cmd}' output saved to {backup_path}")

except paramiko.AuthenticationException:
print(f"Device {hostname} authentication failed, please check the username and password.")
except paramiko.SSHException as e:
print(f"Device {hostname} SSH connection error: {str(e)}")
except Exception as e:
print(f"Device {hostname} error: {str(e)}")

finally:
if ssh:
ssh.close()

def read_device_list(file_path):
with open(file_path, "r") as file:
return [line.strip() for line in file.readlines()]

# 设备清单文件路径
device_list_file = "ips.txt"
# 备份目录
backup_directory = "D:\\Backup"
# 登录信息
username = "admin"
password = "admin"
# 要执行的命令列表
commands_to_execute = [
"display current-configuration",
"display version",
# 添加更多命令...
]

# 读取设备清单
devices = read_device_list(device_list_file)

# 逐个设备执行命令
for hostname in devices:
execute_commands_on_device(hostname, username, password, commands_to_execute, backup_directory)

Secsh channel 1 open FAILED: open failed: Administratively prohibited

 

2 个回答
筱坏 七段
粉丝:7人 关注:0人

Python脚本有问题吧,简单点就放txt里,整体复制粘贴

暂无评论

粉丝:22人 关注:11人

我猜你需要引入下延时,每条命令给它一点执行时间

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明