python - 输入用户名以使用 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
电脑>
解决方案
推荐阅读
- python - 如何使用 fastAPI 实现 OIDC
- python - 我可以使用我的麦克风检测拍手声音并通过 IFTTT 拍手控制我的灯光吗?通过使用 Python 语言
- javascript - 出现增量错误“后缀操作中的左侧表达式无效”
- node.js - 如何在sequelize中输入外键?
- android - 安卓。ConstraintLayout:TextView 不受约束,边距不起作用
- html - 在组件 HeaderComponent 的模板中运行角度构建,但出现错误
- python - 如何在 Scrapy 中将多级页面爬取到一个项目?
- javascript - 通过单击该卡获取卡的详细信息-vue js
- ruby-on-rails - 与 where 语句的 has_many 关系需要哪种类型的索引
- reactjs - 交替背景颜色反应数据表组件