只需使用我的第一个paramiko脚本,我们就有一个开放式控制台服务器,所以我试图自动设置我们插入的任何设备。
开放式设备侦听端口上的ssh连接,例如端口1中的设备将是3001.我连接到端口8上的设备,该设备正常工作并且我的脚本运行,但出于某种原因,我得到了"建立交互式SSH会话"消息,我需要在会话上点击返回以使其运行(所以我有一个ssh会话,脚本也是如此,它共享)。
它只是等到那里直到我回来,我已经尝试发送回报,你可以看到但他们不工作,只有手动返回工作,这很奇怪,因为从技术上来说它们是相同的东西?
body
答案 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! :)