Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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 是否可以使用jsch在jsp上打开SSH控制台?_Java_Ssh_Jsch - Fatal编程技术网

Java 是否可以使用jsch在jsp上打开SSH控制台?

Java 是否可以使用jsch在jsp上打开SSH控制台?,java,ssh,jsch,Java,Ssh,Jsch,我想看看我的研究结果 “sudo sngrep”命令在my.jsp网页上的结果 (我知道在putty上可以,但我想知道是否可以打开会话并在web上查看日志) 我已经搜索并找到了名为“jsch”的API,它看起来像 通过添加这个库,我可以通过 java代码。所以我查阅了一些有用的博客和图书馆描述, 我发现了一些类似的代码,但人们通常使用它访问ssh服务器并下载/复制文件 public JSchUtil(){} 公共JSchUtil(字符串用户名、字符串主机名){ this.username=用户

我想看看我的研究结果 “sudo sngrep”命令在my.jsp网页上的结果

(我知道在putty上可以,但我想知道是否可以打开会话并在web上查看日志)

我已经搜索并找到了名为“jsch”的API,它看起来像 通过添加这个库,我可以通过 java代码。所以我查阅了一些有用的博客和图书馆描述, 我发现了一些类似的代码,但人们通常使用它访问ssh服务器并下载/复制文件

public JSchUtil(){}
公共JSchUtil(字符串用户名、字符串主机名){
this.username=用户名;this.hostname=主机名;
} 
public void setPortForwardingL(int-port,String-host,int-hostport){}
私有会话getSession()抛出JSCHEException{
JSch JSch=新的JSch();
如果(标识!=null){
jsch.附加性(标识);
//setKnownHosts(新的ByteArrayInputStream(hostname.getBytes());
} 
Session Session=jsch.getSession(用户名、主机名、22);
session.setConfig(“StrictHostKeyChecking”、“no”);
if(密码!=null)
session.setPassword(密码);
返回会议;
} 
公共字符串执行器(字符串命令){
返回exec(新字符串[]{command}).get(0);
} 
公共列表执行器(列表命令){
返回exec(commands.toArray(新字符串[]{}));}

但是这段代码或任何其他显示他们正在使用jsch的代码看起来像 您必须输入主机名、密码和服务器,它将 在java控制台上自动运行命令并返回文件或命令结果

我想要的是在jsp页面上查看我的日志。是否可能或不可能打开一个会话并查看jsp网页本身上的日志?如果我的英语很难理解,我很抱歉,但我正在努力学习


这种结果在我的网页上。我在想,如果我以字符串数组的形式获得命令‘sudosngrep’的结果,并使用websocket将其显示在jsp页面上,这可能吗?但我不知道这是否可能。是否可以以GUI(???)的方式打开ssh终端并在jsp页面上查看它?

是的,可以从servlet使用
JSCH
-查看这些示例@ScaryWombat它是“ViaHTTP.java”吗?正如描述所述,它用于“通过HTTP代理的ssh会话”-与您的问题无关。
public JSchUtil(){ } 
public JSchUtil(String username,String hostname){ 

  this.username = username; this.hostname = hostname; 

} 

public void setPortForwardingL(int port,String host,int hostport){ } 

private Session getSession() throws JSchException{ 

JSch jsch=new JSch(); 
if (identity!=null) { 

jsch.addIdentity(identity); 

//jsch.setKnownHosts(new ByteArrayInputStream(hostname.getBytes())); 

} 

Session session=jsch.getSession(username, hostname, 22); 
session.setConfig("StrictHostKeyChecking", "no"); 

if (password!=null) 
session.setPassword(password); 

return session; 
} 

public String exec(String command){ 
 return exec(new String[] {command}).get(0); 
} 

public List<String> exec(List<String> commands){ 

return exec(commands.toArray(new String[]{})); }