首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSch会话连接

JSch会话连接
EN

Stack Overflow用户
提问于 2012-05-11 23:15:42
回答 2查看 3.7K关注 0票数 0

嗨,我正试图通过ssh隧道连接到服务器上的数据库,但我甚至无法连接Jsch会话。作为后端代码的一部分,我尝试在GWT中这样做。这是服务器端代码的实现部分。总的来说,我对服务器并不那么熟悉。通常在终端I中输入:

ssh -x username@xxxxx.xxx.edu

然后提示我输入密码,然后输入密码,然后我就加入了。

所以在java中,我的代码如下所示:

代码语言:javascript
复制
String host="xxxxx.xxx.edu";

String user="username";
String password="password";

Session session= null;
try{
            //Set StrictHostKeyChecking property to no to avoid UnknownHostKey issue
            java.util.Properties config = new java.util.Properties();
            config.put("StrictHostKeyChecking", "no");
            JSch jsch = new JSch();
            session=jsch.getSession(user, host, 22);
            session.setPassword(password);
            session.setConfig(config);
            session.connect();
}

我双重检查了用户名、密码和主机字符串,它们都是我在终端中成功使用的。

我在'session.connect()‘行上看到的错误如下:(向右滚动以查看整个错误)

代码语言:javascript
复制
com.jcraft.jsch.JSchException: java.security.AccessControlException: access denied (java.net.SocketPermission xxxxx.xxx.edu resolve)
at com.jcraft.jsch.Util.createSocket(Util.java:341)
at com.jcraft.jsch.Session.connect(Session.java:194)
at com.jcraft.jsch.Session.connect(Session.java:162)
at com.front.server.GameServiceImpl.createGame(GameServiceImpl.java:39)

我遗漏了什么吗?这与我在终端注册via ssh时所做的不一样吗?我也尝试过在'ssh://‘前面加上主机字符串,但是没有结果。

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2012-05-12 16:50:22

我发现上面的代码没有问题。我将它复制/粘贴到一个简单的java主目录中,它工作得很好。在GWT后端中放置相同的代码似乎有问题。

票数 1
EN

Stack Overflow用户

发布于 2012-05-12 23:25:53

根据异常消息,问题似乎不是来自JSch。

请参阅安全和权限 on java.sun.com:

除对调用程序的目录及其子目录的读访问权限外,必须授予所有与安全管理器调用的小程序和任何应用程序访问本地系统资源的显式权限。Java平台提供了允许不同级别访问不同类型本地信息的权限。

,请参阅SocketPermission部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10559688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档