2013-02-08 9 views
8

Próbuję połączyć się ze zdalnym serwerem SFTP przy użyciu biblioteki JSCH wersji 0.1.49. Za każdym razem, gdy uruchomić program pojawia się następujący błąd:Błąd Jsch - nie udało się wysłać żądania kanału

Initializing... 
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) 

wiersz 30 jest: sftpChannel.connect() z poniższego kodu:

System.out.println("Initializing..."); 
    JSch jsch = new JSch(); 

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

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

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

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

poświadczenia używam są prawidłowe (łączy przez FileZilla pomocą same dane), a także wyłączyłem serwer proxy dla tego serwera (tak czy inaczej dostaję ten sam błąd z lub bez proxy)

Jeśli ktoś mógłby mi pomóc, byłbym bardzo wdzięczny, ponieważ utknąłem z tym błędem około teraz tydzień ...

Dziękuję.

+0

Upewnij się, że 'sftp' zainstalowany i uruchomiony na maszynie, którą próbuje się połączyć. – SRy

Odpowiedz

6

Sprawdź, czy serwer SFTP jest uruchomiony i uruchomiony.

Napotkałem ten sam problem - nie byłem w stanie otworzyć kanału SFTP na moim serwerze, ale mogłem połączyć się z WinSCP. Zajęło mi trochę czasu, aby zauważyć, że WinSCP powróciłby do SCP, przez co wprowadził mnie w błąd. Uruchomienie serwera rozwiązało ten problem.

+0

Wygląda na to, że ich serwer ma pewne problemy (nie wiem, które ...), mimo że zapewnili mnie po raz pierwszy, że wszystko jest w porządku, a problem jest po mojej stronie. Nadal czekam, aż naprawią swój problem, dziękuję za odpowiedź. –

1

W /etc/ssh/sshd_config zmieniłem:

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

do:

Subsystem sftp internal-sftp 

To pomaga.

+0

dzięki za cynk: po prostu miałem złą ścieżkę, – gisly

+0

Używam PhpStorm na Macu i otrzymuję ten błąd podczas dodawania serwera wdrażania za pośrednictwem SFPT. Zrobiłem tak, jak powiedziałeś, ale to nie jest praca – vietnguyen09

1

Sprawdź Subsystem sftp /usr/lib/openssh/sftp-server w/etc/ssh/sshd_config