【发布时间】:2020-04-23 11:19:54
【问题描述】:
我尝试根据说明在我的 Java 程序中使用 SSH 在 PythonAnywhere 中建立与 MySQL 基础的连接:
https://help.pythonanywhere.com/pages/AccessingMySQLFromOutsidePythonAnywhere
不幸的是,我每次都收到这个错误,而且我的想法已经用完了:
com.jcraft.jsch.JSchException: 拒绝 HostKey: ssh.pythonanywhere.com
public static void main(String[] args) {
Tunnel tunnel = new Tunnel();
try {
tunnel.go();
} catch (Exception e) {
e.printStackTrace();
}
}
public void go() throws Exception {
String host = "ssh.pythonanywhere.com";
String user = "username";
String password = "password";
int port = 22;
int tunnelLocalPort = 9080;
String tunnelRemoteHost = "username.mysql.pythonanywhere-services.com";
int tunnelRemotePort = 3306;
JSch jsch= new JSch();
Session session = jsch.getSession(user,host,port);
localUserInfo lui = new localUserInfo();
session.setPassword(password);
session.setUserInfo(lui);
session.connect();
session.setPortForwardingL(tunnelLocalPort,tunnelRemoteHost,tunnelRemotePort);
System.out.println("Connecting");
}
class localUserInfo implements UserInfo {
String passwd;
@Override
public String getPassphrase() {return null; }
@Override
public String getPassword() { return null; }
@Override
public boolean promptPassword(String s) { return false; }
@Override
public boolean promptPassphrase(String s) { return false; }
@Override
public boolean promptYesNo(String s) { return false; }
@Override
public void showMessage(String s) {}
}
我使用 PuTTY 成功连接,但无法让我的程序运行。
【问题讨论】:
标签: java ssh jsch pythonanywhere ssh-tunnel