首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查我的主机是否不允许SSH访问

如何检查我的主机是否不允许SSH访问
EN

Stack Overflow用户
提问于 2016-05-02 02:52:46
回答 1查看 1.3K关注 0票数 0

我尝试了各种方法来创建到我的远程MySQL数据库的SSH连接。

代码语言:javascript
复制
        String user = "user";
        String password = "pass";
        String remoteHost = "host";
        int localPort = 2022;
        int remotePort = 3306;
        Session session = null;

        //Try to forward ports
        try
        {
        //Create the JSCH object
        JSch jsch = new JSch();

        //Get the session
        session = jsch.getSession(user, remoteHost);

        //Set the password
        session.setPassword(password);

        //To be able to connect to any host (this is just for testing!)
        session.setConfig("StrictHostKeyChecking", "no");

        //Connect the session
        session.connect();

        //Set port forward
        session.setPortForwardingL(localPort, "127.0.0.1", remotePort);

        //Show message
        System.out.println("Waiting for connections…");

        //Exit on return
        InputStreamReader converter = new InputStreamReader(System.in);
        BufferedReader in = new BufferedReader(converter);
        in.readLine();
        }

        //Failed
        catch(Exception ex)
        {
        //Message
        System.out.println("Failed to setup tunnel");

        //Stack trace
        ex.printStackTrace();
        }

        //Clean up
        finally
        {
        try{session.disconnect();} catch(Throwable t) {t.printStackTrace();}
        }

然而,我一直收到这样的错误: com.jcraft.jsch.JSchException: java.net.ConnectException:操作超时

我不明白为什么它给了我这个错误,因为我相信我使用的是正确的信息。因此,我的问题是,如何检查主机的远程ip,以及如何确保它们允许SSH访问?

更新:

我能够通过ssh MySQL -v user@host连接到远程-v数据库。但是,在我的代码中,我得到了以下错误:

com.jcraft.jsch.JSchException: PortForwardingL:本地端口127.0.0.1:2022不能绑定。

我使用的是mac,在mac中本地端口不同吗?

EN

回答 1

Stack Overflow用户

发布于 2016-05-02 06:06:12

这里有几个步骤来隔离问题的根源。因为它可能与您的Java代码无关。

  1. 首先尝试从shell连接SSH,以检查SSH是否正常工作。 ssh -v user@host
  2. 如果这已经失败了,->会问主机管理员
  3. 如果成功的话,试试 ssh -v user@host -L 2022:127.0.0.1:3306 您现在应该能够通过本地端口2022连接到2022
  4. 如果这失败了,->会问主机管理员
  5. 如果成功,请在Java代码中找到问题

SSH隧道和MySql:MySQL远程连接:SSH-隧道,HTTP-隧道的一些有用的链接

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

https://stackoverflow.com/questions/36974361

复制
相关文章

相似问题

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