如何测试JavaSSH客户端jsch?

如何测试JavaSSH客户端jsch?,java,ssh,Java,Ssh,我有任务要读关于JavaSSH客户端(jsch)的文章。 我读了几个例子,但当我尝试其中一些,我总是得到相同的错误。 连接被拒绝:连接 我可以在我的主机上尝试,只是为了测试的目的。我是新手。只是不想得到任何错误。 以下是我尝试过的示例: public static void main(String[] arg) { try { JSch jsch = new JSch(); String user = "username"; String

我有任务要读关于JavaSSH客户端(jsch)的文章。 我读了几个例子,但当我尝试其中一些,我总是得到相同的错误。 连接被拒绝:连接 我可以在我的主机上尝试,只是为了测试的目的。我是新手。只是不想得到任何错误。 以下是我尝试过的示例:

public static void main(String[] arg) {
    try {
        JSch jsch = new JSch();

        String user = "username";
        String host = "host ip";
        int port = 22;
        String privateKey = ".ssh/id_rsa";

        jsch.addIdentity(privateKey);
        System.out.println("identity added ");

        Session session = jsch.getSession(user, host, port);
        System.out.println("session created.");

         java.util.Properties config = new java.util.Properties();
         config.put("StrictHostKeyChecking", "no");
         session.setConfig(config);

        session.connect();
        System.out.println("session connected.....");

        Channel channel = session.openChannel("sftp");
        channel.setInputStream(System.in);
        channel.setOutputStream(System.out);
        channel.connect();
        System.out.println("shell channel connected....");

        ChannelSftp c = (ChannelSftp) channel;

        String fileName = "test.txt";
        c.put(fileName, "./in/");
        c.exit();
        System.out.println("done");

    } catch (Exception e) {
        System.err.println(e);
    }
“拒绝连接”是指客户端向服务器发送TCP连接请求,并从服务器收到拒绝请求的响应

最简单的解释是,在客户端尝试连接的地址和端口上没有任何内容侦听连接。在这种情况下,这意味着远程服务器上没有运行SSH服务器进程,或者它正在运行,但没有配置为侦听正确地址和端口上的连接


或者,“连接被拒绝”可能意味着防火墙或类似的网络设备正在阻止来自客户端的连接请求。

您可以使用另一个SFTP或SSH客户端连接到同一主机吗?我还没有尝试过。我现在会尝试。