Paramiko - ssh到控制台服务器,必须返回脚本才能继续

时间:2016-03-15 15:48:38

标签: python paramiko

只需使用我的第一个paramiko脚本,我们就有一个开放式控制台服务器,所以我试图自动设置我们插入的任何设备。

开放式设备侦听端口上的ssh连接,例如端口1中的设备将是3001.我连接到端口8上的设备,该设备正常工作并且我的脚本运行,但出于某种原因,我得到了"建立交互式SSH会话"消息,我需要在会话上点击返回以使其运行(所以我有一个ssh会话,脚本也是如此,它共享)。

它只是等到那里直到我回来,我已经尝试发送回报,你可以看到但他们不工作,只有手动返回工作,这很奇怪,因为从技术上来说它们是相同的东西?

body

4 个答案:

答案 0 :(得分:0)

首先发送一些命令" ls -ltr \ n"然后打电话给睡眠

remote_conn.send("ls -ltr\n")
time.sleep(1)

答案 1 :(得分:0)

我试过这个并看到了

remote_conn.settimeout(3) 

挂起, 你确定'192.168.1.10'发送了收到的东西吗? 尝试设置超时

remote_conn = remote_conn_pre.invoke_shell()
例如,

3秒,在此行之后执行:

searchNext()

这样,recv功能不会挂起,并在超时到期时继续

适合我

答案 2 :(得分:-1)

尝试在调试器中运行命令,找出正在等待输入的行。如果只是\ n,您也可以尝试发送\ r或\ r \ n。记住输入键确实是^ M

您也可以尝试启用详细记录。

import logging
# ...
logging.getLogger("paramiko").setLevel(logging.DEBUG)

答案 3 :(得分:-1)

我找到了另一个模块(netmiko),它完全符合我的要求并完成所有这些检查。我已经放弃了尝试自己做的事情,而其他人已经做得更好了。

使用Netmiko! :)