Java JSch会话连接
您好,我正在尝试通过ssh隧道连接到服务器上的数据库,但我甚至无法连接Jsch会话。我正试图在GWT中这样做,作为后端代码的一部分。这是服务器端代码的实现部分。 一般来说,我对服务器不太熟悉。通常在终端I类型中: ssh-xusername@xxxxx.xxx.edu 然后,系统会提示我输入密码,然后输入密码,我就进入了 因此,在java中,我的代码如下所示:Java JSch会话连接,java,gwt,jdbc,ssh,jsch,Java,Gwt,Jdbc,Ssh,Jsch,您好,我正在尝试通过ssh隧道连接到服务器上的数据库,但我甚至无法连接Jsch会话。我正试图在GWT中这样做,作为后端代码的一部分。这是服务器端代码的实现部分。 一般来说,我对服务器不太熟悉。通常在终端I类型中: ssh-xusername@xxxxx.xxx.edu 然后,系统会提示我输入密码,然后输入密码,我就进入了 因此,在java中,我的代码如下所示: String host="xxxxx.xxx.edu"; String user="username"; String passwor
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()”行中遇到的错误如下:(向右滚动查看整个错误)
我有什么遗漏吗?这与我在终端中通过ssh登录的操作不一样吗?我还尝试将'ssh://'前置到主机字符串,但没有效果
提前谢谢 我发现上面的代码没有问题。我将它复制/粘贴到一个简单的java main中,效果很好。将相同的代码放在GWT后端似乎有问题。根据异常消息,问题似乎不是来自JSch 请参阅java.sun.com上的: 使用安全管理器调用的所有小程序和任何应用程序都必须 被授予访问本地系统资源的明确权限 从读取访问目录及其子目录,其中 程序被调用。Java平台提供了允许 对不同类型本地信息的不同访问级别 ,请参阅第节
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)