您好我正在尝试通过 ssh 隧道连接到服务器上的数据库,但我什至无法连接 Jsch 会话。我试图在 GWT 中将其作为后端代码的一部分。所以这是在服务器端代码的实现部分。我一般对服务器不是很熟悉。通常在终端 I 中键入:
ssh -x 用户名@xxxxx.xxx.edu
然后我被提示输入我的密码,我输入密码,然后我就进去了。
所以在java中我的代码如下:
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()”行得到的错误如下:(向右滚动查看整个错误)
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)
有什么我想念的吗?这与我在终端中通过 ssh 登录所做的不同吗?我也尝试在主机字符串前添加 'ssh://',但无济于事。
提前致谢!