Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 远程tty/pty的python结构使用_Java_Python_Ssh_Fabric - Fatal编程技术网

Java 远程tty/pty的python结构使用

Java 远程tty/pty的python结构使用,java,python,ssh,fabric,Java,Python,Ssh,Fabric,我需要使用ssh登录到远程机器并做一些“工作”。 远程机器是一个设备,不允许使用bash等。 当用户通过ssh登录设备时,例如“admin”。我们最终将进入一个“特殊”CLI shell,其中包含有限且专门的命令 我为一个简单的“show info”创建了一个fabbile,但我不断地返回错误消息,即不允许使用远程ssh命令 我当前的代码: from fabric.api import run from fabric.api import env def info(): run('sh

我需要使用ssh登录到远程机器并做一些“工作”。 远程机器是一个设备,不允许使用bash等。 当用户通过ssh登录设备时,例如“admin”。我们最终将进入一个“特殊”CLI shell,其中包含有限且专门的命令

我为一个简单的“show info”创建了一个fabbile,但我不断地返回错误消息,即不允许使用远程ssh命令

我当前的代码:

from fabric.api import run
from fabric.api import env

def info():
    run('show info', pty=True)
就我所知,pty=True正是我需要的原因,即请求远程TTY

有一些java代码(我想转换为python的更大java项目的一部分),它们使用:

Session sess = conn.openSession();
/*     */ 
/*  82 */       sess.requestDumbPTY();
/*     */ 
/*  84 */       sess.startShell();
/*     */ 
/*  86 */       strBuf = test.getResponse(sess, strbuf);
/*     */ 
/*  91 */       conn.close();
对于这一点,实际上效果很好。(在ethz.ssh库之外)

你知道如何使用fabric(或任何其他python方法)实现这一点吗?或者我的代码有什么问题

谢谢

安德烈

更新: 正如fabric/fabfile的疑难解答部分所建议的,我尝试了以下方法:

ssh -t admin@192.168.88.20 "show info"
Riverbed SteelHead
admin@192.168.88.20's password: 
Riverbed ssh: ssh remote command is not allowed.
Connection to 192.168.88.20 closed.
据我所知,-t参数做了pty=True应该做的事情,所以它失败也就不足为奇了。 如何在python中实现这一点?如上所述,上面的java代码似乎工作正常

更新20.03.15 在收到“Tumbleweed”徽章(问了一个一周没有投票、没有回答、没有评论、低浏览量的问题)后,我想我又碰上了它?这里有这么多聪明人,真不敢相信没有人有答案


谢谢

有人吗?没人知道吗?如果有任何提示/提示,我将不胜感激。。。拜托,这让我快发疯了