Jsch error - failed to send channel request

I am trying to connect to a SFTP remote server using JSCH library version 0.1.49. Every time I run the program I receive the following error :

Connection to SFTP server is successfully
com.jcraft.jsch.JSchException: Unable to connect to SFTP server.com.jcraft.jsch.JSchException: failed to send channel request
at shell.MainClass.JschConnect(MainClass.java:95)
at shell.MainClass.main(MainClass.java:30)

line 30 is : sftpChannel.connect() from the code below :

    JSch jsch = new JSch();

    Session session = null;
    try {   
        session = jsch.getSession(ProjectConstants.rmUsername,ProjectConstants.rmHost, 22);

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

        if (session.isConnected() == true) {
            System.out.println("Connection to SFTP server is successfully");

        ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
        try {
        } catch (Exception e) {
            throw new JSchException("Unable to connect to SFTP server. "
                    + e.toString());

the credentials I am using are correct ( it connects through FileZilla using the same data ), and I also disabled the proxy for that server ( either way I get the same error with or without proxy )

If anyone could help me I would greatly appreciate it as I am stuck with this error for about a week now ...

Thank you.


Check if SFTP server is started and running.

I had encountered the same issue - I was not able to open SFTP channel to my server, but I could connect with WinSCP. It took me some time to notice that WinSCP would fallback to SCP hence confusing me. Starting the server solved this issue.

Check Subsystem sftp /usr/lib/openssh/sftp-server in /etc/ssh/sshd_config

In /etc/ssh/sshd_config I changed:

Subsystem sftp /usr/lib/openssh/sftp-server 


Subsystem sftp internal-sftp 

It helps.

Need Your Help

android tcp/ip socket won't send data to computer

java android vb.net sockets tcp

i tried to make an application that send data from android to computer (java to vb.net). The data sending is working in eclipse java project, but not in android project .

How do I efficiently reject Strings in an array if they (regex) match Strings in a second array in Ruby?

ruby arrays

I have two arrays of Strings, for example sentences and words. If any word is found in a sentence e.g. sentence =~ /#{word}/ I want to reject the sentence from the sentence array. This is easy to d...