我用java远程连接linux报错了,可以互相ping得通,网络没问题。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用java远程连接linux报错了,可以互相ping得通,网络没问题。相关的知识,希望对你有一定的参考价值。

import java.io.InputStreamReader;

import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;

public class TestCtrCommond

public static void main(String[] args)

String hostname = "192.168.xxx.xxx";
String username = "root";
String password = "xxxx";
//指明连接主机的IP地址
Connection conn = new Connection(hostname);

Session ssh = null;
try
//连接到主机
conn.connect();
//使用用户名和密码校验
boolean isconn = conn.authenticateWithPassword(username, password);
if(!isconn)
System.out.println("用户名称或者是密码不正确");
else
System.out.println("已经连接OK");
ssh = conn.openSession();
//使用多个命令用分号隔开
//ssh.execCommand("pwd;cd /tmp;mkdir hb;ls;ps -ef|grep weblogic");
ssh.execCommand("cd /app/weblogic/Oracle/Middleware/user_projects/domains/base_domain;./startWebLogic.sh &");
//只允许使用一行命令,即ssh对象只能使用一次execCommand这个方法,多次使用则会出现异常
//ssh.execCommand("mkdir hb");
//将屏幕上的文字全部打印出来
InputStream is = new StreamGobbler(ssh.getStdout());
BufferedReader brs = new BufferedReader(new InputStreamReader(is));
while(true)
String line = brs.readLine();
if(line==null)
break;

System.out.println(line);



//连接的Session和Connection对象都需要关闭
ssh.close();
conn.close();

catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();





报错如下:

参考技术A 根据情况有2种原因,:
1、网络问题,ping命令走的icmp协议,测试网络端口的连通性是错误的,请使用telnet命令来测试目的主机的的ssh端口是否有效;
2、ssh的server端配置问题,请查看ssh是否允许密码登录,还是更安全的秘钥文件登录。
参考技术B 你得看22端口通不通。追问

我用了netstat -anp 没有发现22端口正在使用

追答

那就是说这个对应的服务没有启来。你需要在linux下面,将对应的服务起来。

参考技术C 报错的截图能在多一些么

JAVA工程部署到linux服务器上的时候报错了。

我的工程在本地(windowS)下一切正常。
但是换到linux上的时候 就出现了一下把报错。现在里面配置的servlet 跟urlwrite都不能正常工作 请大家帮忙看一下。

严重: IOException while saving persisted sessions: java.io.FileNotFoundException: /usr/local/hizhongrfwangj/tomcatzks0f1/work/Catalina/121.198.247.15/_/SESSIONS.ser (No such file or directory)
java.io.FileNotFoundException: /usr/local/hizhongrfwangj/tomcatzks0f1/work/Catalina/121.198.247.15/_/SESSIONS.ser (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:489)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4360)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1067)
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1067)
at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
at org.apache.catalina.core.StandardService.stop(StandardService.java:510)
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
at org.apache.catalina.startup.Catalina.start(Catalina.java:577)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2009-10-13 5:01:50 org.apache.catalina.core.StandardContext reload
信息: Reloading this Context has started
2009-10-13 5:01:50 org.apache.catalina.core.ApplicationContext log
信息: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: destroy called
2009-10-13 5:01:50 org.apache.catalina.core.ApplicationContext log
信息: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf ok)
2009-10-13 5:02:00 org.apache.catalina.core.StandardContext reload
信息: Reloading this Context has started
2009-10-13 5:02:00 org.apache.catalina.core.ApplicationContext log
信息: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: destroy called
能不能给一个详细一点的解决方案?我在做一个图片验证码的时候 用到了SESSION 这个错误就是从那个地方出来的。我也估计是路径错误 但是 具体修改什么路径?SERVLET配置路径??还有,我说使用的URLwrite技术也全部失效 变成404了

路径问题 windows下的路径和linux中是不一样的 抛出文件找不到的异常 参考技术A windows和linux路径不同,表示形式也不同。比如说windows是E:\Java\apache\conf\
而linux是以/表示的
参考技术B /usr/local/hizhongrfwangj/tomcatzks0f1/work/Catalina/121.198.247.15/_/SESSIONS.ser (No such file or directory)
这个没有找到。
参考技术C /_/
这个地方有问题吧
怎么文件夹名是这个 linux下用这个可以么?

以上是关于我用java远程连接linux报错了,可以互相ping得通,网络没问题。的主要内容,如果未能解决你的问题,请参考以下文章

jedis远程连接linux报错

java远程连接linux,执行脚本启动Tomcat

您好,jdbc远程连接PI数据库时总是连接不上?

Linux无法远程连接Redis?

puttyXshell远程连接Linux以及密钥认证

JAVA工程部署到linux服务器上的时候报错了。