SSH 连接、下发配置、上传、下载

import paramiko
import time
def client():
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client.connect(hostname="192.168.56.100",port=22,username="huawei",password="Admin@123")

    cmd = client.invoke_shell()
    cmd.send("screen-length 0 temporary\n")
    time.sleep(1)
    cmd.send("sys imm\n")
    time.sleep(1)
    cmd.send("interface g1/0/0\n")
    time.sleep(1)
    cmd.send("undo shutdown\n")
    time.sleep(1)
    cmd.send("undo portswitch\n")
    time.sleep(1)
    cmd.send("int lo0\n")
    time.sleep(1)
    cmd.send("ip add 2.2.2.2 32\n")
    time.sleep(1)

    print(cmd.recv(65535).decode("utf-8"))
    cmd.close()

def read_txt():
    client2 = paramiko.SSHClient()
    client2.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    client2.connect(hostname="192.168.56.100",port=22,username="huawei",password="Admin@123")

    cmd2 = client2.invoke_shell()
    f = open("cmd.txt","r")
    mes = f.readlines()
    for line in mes:
        cmd2.send(line)
        time.sleep(1)
    print(cmd2.recv(65535).decode("utf-8"))
    cmd2.close()
read_txt()

def down():
    trs = paramiko.Transport(("192.168.56.100",22))
    trs.connect(username="huawei",password="Admin@123")
    sftp = paramiko.SFTPClient.from_transport(trs)
    remote = "device.sys"
    local = "new.sys"
    sftp.get(remote,local)
    trs.close()
down()

def up():
    trs = paramiko.Transport(("192.168.56.100",22))
    trs.connect(username="huawei",password="Admin@123")
    sftp = paramiko.SFTPClient.from_transport(trs)
    remote = "new.txt"
    local = "cmd.txt"
    sftp.put(local,remote)
    trs.close()
up()
在VM(Virtual Machine)环境中使用YangUI进行流量表的下发和实验,主要包括以下步骤: 1. **安装基础环境**:确保你在VM上安装了必要的软件,如Ubuntu,以及一些网络配置工具(如netplan),还有Python环境(因为YangUI通常是基于Python开发的)。 2. **安装YangUI**:打开终端,使用`sudo apt-get install yangson` 或者 `pip install yangson` 安装YangUI及其依赖项。 3. **加载YANG模块**:你需要获取目标设备的YANG模块,通常是网络设备厂商提供的,通过`yanglint`命令验证其有效性。例如: ``` yanglint -f xml <device.yang> ``` 4. **创建拓扑和配置**:在YangUI的图形界面中,输入设备的YANG模块,设计你的网络拓扑,包括添加设备、端口和配置流量策略。 5. **生成配置**:配置完成后,点击“Export”按钮,选择合适的输出格式(如XML或JSON),这将是你要发送到设备的配置。 6. **连接到设备**:通过SSH或类似工具连接到你的虚拟机,切换到网络设备的root用户权限。 7. **下发配置**:使用`curl`、`nc`或`vyatta-cfg-client`等命令行工具,将生成的配置文件上传应用到网络设备。具体命令可能会因设备不同而异。 8. **验证效果**:配置后,可以使用ping或traceroute等命令检查流量是否按预期路径和带宽限制传输。 9. **实验调整与优化**:根据实验结果,可能需要在YangUI中调整流量表,然后再次下发观察变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值