用python可以telnet到一台服务器,然后从那里telnet到另一台服务器吗?由于有一个控制器,我使用用户名和密码远程登录到该控制器,并且在控制器命令行中,我需要以根用户身份登录才能运行linux命令。我该如何使用python做到这一点呢?
我使用telentlib登录到路由器控制器,但我需要从路由器控制器再次登录才能进入shell。这可以使用python吗?
谢谢!
发布于 2014-03-27 01:54:56
我刚用我手中的硬件& telnetlib检查了一下。看不到任何问题。当您连接到第一台设备时,只需使用telnet.write('cmd')发送所有必要的命令。它可能是sudo su\n、telnet 192.168.0.2\n或其他任何东西。Telnetlib只记住它自己的telnet连接,所有的辅助连接都由相应的控制器处理。
发布于 2014-03-27 01:50:23
您是否研究过使用expect (应该有一个python绑定);基本上,我认为您想要做的是:
从您的python脚本中,使用telnetlib连接到服务器A(传入此“username/password).
这应该是非常可行的,并且对于不支持更干净的API的旧版本来说是相当常见的。
发布于 2014-03-27 02:00:01
您可以使用write()发出sudo命令。
tn.write("sudo\n")您还可以使用read_until()来帮助处理凭据。
tn.read_until("login: ")
tn.write(user + "\n")
if password:
tn.read_until("Password: ")
tn.write(password + "\n")https://stackoverflow.com/questions/22668907
复制相似问题