首页 > 解决方案 > 输入用户名以使用 telnetlib 远程登录设备后 Python 脚本挂起

问题描述

我正在尝试登录到我的网络电源控制开关并使用 python telnetlib 脚本在其中运行命令,在运行脚本后,它在输出终端中显示“输入用户名”,我为其输入开关用户名,脚本此时挂起无需询问密码并继续进行。请帮助我进一步进行..粘贴下面的脚本。

import getpass
import sys
import telnetlib
HOST = "192.168.8.8"
PORT=22 
TIMEOUT=10
user = input("Enter your username : ")
password = getpass.getpass()
tn = telnetlib.Telnet(HOST)
tn.read_until(b"User Name : ")
tn.write(user.encode('ascii') + b"\n")
if password:
    tn.read_until(b"Password  : ")
    tn.write(password.encode('ascii') + b"\n")
tn.write("tcpip\n")
tn.write("exit\n")
print(tn.read_all())

手动我可以登录设备,为了更清楚,粘贴下面设备的登录屏幕

用户名:apc 密码:***

施耐德电气网络管理卡 AOS v6.4.6

名称 : apcE2FA28 日期 : 09/05/2018 联系人 : 未知 时间 : 21:56:52 位置 : 未知 用户 : 超级用户 上线时间 : 0 天 0 小时 7 分钟 统计 : P+ N4+ N6+ A+

类型 ?用于命令列表 使用 tcpip 命令获取 IP 地址 (-i)、子网 (-s) 和网关 (-g)

apc>tcpip E000: 成功

活动 IPv4 设置

活动 IPv4 地址:192.168.8.8 活动 IPv4 子网掩码:255.255.255.0 活动 IPv4 网关:0.0.0.0

手动配置的 IPv4 设置

IPv4:启用手动设置:启用

IPv4 地址:192.168.8.8 子网掩码:255.255.255.0 网关:0.0.0.0 MAC 地址:00 C0 B7 E2 FA 28 域名:example.com 主机名:apcE2FA28

电脑>

标签: pythonpython-3.x

解决方案


推荐阅读