JSch连接不上Linux服务器,android – 如何使用JSCH连接到SSH服务器?

我正在尝试使用jsch连接到我的开放ssh ubuntu服务器

我只是想看看我是否可以使用SSH从我的Android手机连接到Linux服务器,但它不起作用.

当我在Android手机上启动应用程序时,应用程序崩溃了

我已附加代码和LogCat文件

我是java和eclipse的新手

这是我的代码

package com.example.please;

import java.util.Properties;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.JSchException;

import com.jcraft.jsch.Session;

import android.os.AsyncTask;

import android.os.Bundle;

import android.app.Activity;

import android.content.Context;

import android.view.Menu;

import android.widget.Button;

import android.widget.EditText;

public class MainActivity extends Activity {

Button button;

EditText usr_nm;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

System.out.println("working");

button=(Button) findViewById(R.id.btn);

//button.setOnClickListener(handle);

usr_nm = (EditText)findViewById(R.id.editText1);

String host="x.x.x.x";

new loadsomestuff().execute(host);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

public class loadsomestuff extends AsyncTask{

String asd;

@Override

protected String doInBackground(String... arg0) {

JSch jsch=new JSch();

Properties props = new Properties();

props.put("StrictHostKeyChecking", "no");

Properties config = new Properties();

config.put("StrictHostKeyChecking", "no");

config.put("compression.s2c", "zlib,none");

config.put("compression.c2s", "zlib,none");

Session session;

try {

session = jsch.getSession("user", "x.x.x.x",22);

session.setConfig(config);

session.setPassword("xxxxxxx");

session.connect();

} catch (JSchException e) {

asd = "NOT_Executed";

System.out.println("NOT_executed");

e.printStackTrace();

return "NOT_Executed";

}

Context context = getApplicationContext();

CharSequence text = "Connected to Pi";

int duration = android.widget.Toast.LENGTH_SHORT;

android.widget.Toast toast = android.widget.Toast.makeText(context, text, duration);

toast.show();

System.out.println("executed");

asd = "executed";

return "Executed";

//return null;

}

@Override

protected void onPostExecute(String abc){

usr_nm.setText(asd);

}

}

}

LogCat显示以下内容

07-31 16:21:53.298: E/Trace(781): error opening trace file: No such file or directory (2)

07-31 16:21:53.858: I/System.out(781): working

07-31 16:21:54.028: I/Choreographer(781): Skipped 38 frames! The application may be doing too much work on its main thread.

07-31 16:21:54.078: D/gralloc_goldfish(781): Emulator without GPU emulation detected.

07-31 16:21:54.177: I/Choreographer(781): Skipped 46 frames! The application may be doing too much work on its main thread.

07-31 16:21:54.547: I/System.out(781): NOT_executed

07-31 16:21:54.547: W/System.err(781): com.jcraft.jsch.JSchException: java.net.SocketException: socket failed: EACCES (Permission denied)

07-31 16:21:54.557: W/System.err(781): at com.jcraft.jsch.Util.createSocket(Util.java:344)

07-31 16:21:54.557: W/System.err(781): at com.jcraft.jsch.Session.connect(Session.java:215)

07-31 16:21:54.557: W/System.err(781): at com.jcraft.jsch.Session.connect(Session.java:183)

07-31 16:21:54.557: W/System.err(781): at com.example.please.MainActivity$loadsomestuff.doInBackground(MainActivity.java:64)

07-31 16:21:54.557: W/System.err(781): at com.example.please.MainActivity$loadsomestuff.doInBackground(MainActivity.java:1)

07-31 16:21:54.557: W/System.err(781): at android.os.AsyncTask$2.call(AsyncTask.java:287)

07-31 16:21:54.557: W/System.err(781): at java.util.concurrent.FutureTask.run(FutureTask.java:234)

07-31 16:21:54.567: W/System.err(781): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)

07-31 16:21:54.567: W/System.err(781): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)

07-31 16:21:54.577: W/System.err(781): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)

07-31 16:21:54.577: W/System.err(781): at java.lang.Thread.run(Thread.java:856)

07-31 16:21:54.577: W/System.err(781): Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)

07-31 16:21:54.577: W/System.err(781): at libcore.io.IoBridge.socket(IoBridge.java:583)

07-31 16:21:54.588: W/System.err(781): at java.net.PlainSocketImpl.create(PlainSocketImpl.java:201)

07-31 16:21:54.588: W/System.err(781): at java.net.Socket.startupSocket(Socket.java:559)

07-31 16:21:54.588: W/System.err(781): at java.net.Socket.tryAllAddresses(Socket.java:127)

07-31 16:21:54.588: W/System.err(781): at java.net.Socket.(Socket.java:177)

07-31 16:21:54.588: W/System.err(781): at java.net.Socket.(Socket.java:149)

07-31 16:21:54.598: W/System.err(781): at com.jcraft.jsch.Util.createSocket(Util.java:338)

07-31 16:21:54.608: W/System.err(781): ... 10 more

07-31 16:21:54.608: W/System.err(781): Caused by: libcore.io.ErrnoException: socket failed: EACCES (Permission denied)

07-31 16:21:54.618: W/System.err(781): at libcore.io.Posix.socket(Native Method)

07-31 16:21:54.618: W/System.err(781): at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:181)

07-31 16:21:54.618: W/System.err(781): at libcore.io.IoBridge.socket(IoBridge.java:568)

07-31 16:21:54.618: W/System.err(781): ... 16 more

请帮忙

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值