Spring Integration / JSch: ошибка аутентификации

пытаюсь использовать Spring Integration 's SFTP адаптер входящего канала, но яЯ застрял здесь:

20:29:30,458 INFO  [com.jcraft.jsch] (task-scheduler-6) Connecting to deployment port 22
20:29:30,484 INFO  [com.jcraft.jsch] (task-scheduler-6) Connection established
20:29:30,514 INFO  [com.jcraft.jsch] (task-scheduler-6) Remote version string: SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1
20:29:30,514 INFO  [com.jcraft.jsch] (task-scheduler-6) Local version string: SSH-2.0-JSCH-0.1.45
20:29:30,514 INFO  [com.jcraft.jsch] (task-scheduler-6) CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
20:29:30,515 INFO  [com.jcraft.jsch] (task-scheduler-6) CheckKexes: diffie-hellman-group14-sha1
20:29:30,515 INFO  [com.jcraft.jsch] (task-scheduler-6) diffie-hellman-group14-sha1 is not available.
20:29:30,516 INFO  [com.jcraft.jsch] (task-scheduler-6) SSH_MSG_KEXINIT sent
20:29:30,537 INFO  [com.jcraft.jsch] (task-scheduler-6) SSH_MSG_KEXINIT received
20:29:30,538 INFO  [com.jcraft.jsch] (task-scheduler-6) kex: server->client aes128-ctr hmac-md5 none
20:29:30,538 INFO  [com.jcraft.jsch] (task-scheduler-6) kex: client->server aes128-ctr hmac-md5 none
20:29:30,540 INFO  [com.jcraft.jsch] (task-scheduler-6) SSH_MSG_KEXDH_INIT sent
20:29:30,540 INFO  [com.jcraft.jsch] (task-scheduler-6) expecting SSH_MSG_KEXDH_REPLY
20:29:30,572 INFO  [com.jcraft.jsch] (task-scheduler-6) ssh_rsa_verify: signature true
20:29:30,572 INFO  [com.jcraft.jsch] (task-scheduler-6) Host 'deployment' is known and mathces the RSA host key
20:29:30,573 INFO  [com.jcraft.jsch] (task-scheduler-6) SSH_MSG_NEWKEYS sent
20:29:30,573 INFO  [com.jcraft.jsch] (task-scheduler-6) SSH_MSG_NEWKEYS received
20:29:30,573 INFO  [com.jcraft.jsch] (task-scheduler-6) SSH_MSG_SERVICE_REQUEST sent
20:29:30,597 INFO  [com.jcraft.jsch] (task-scheduler-6) SSH_MSG_SERVICE_ACCEPT received
20:29:30,650 INFO  [com.jcraft.jsch] (task-scheduler-6) Authentications that can continue: publickey,keyboard-interactive,password
20:29:30,651 INFO  [com.jcraft.jsch] (task-scheduler-6) Next authentication method: publickey
20:29:30,678 INFO  [com.jcraft.jsch] (task-scheduler-6) Authentications that can continue: password
20:29:30,679 INFO  [com.jcraft.jsch] (task-scheduler-6) Next authentication method: password
20:29:30,679 INFO  [com.jcraft.jsch] (task-scheduler-6) Disconnecting from deployment port 22
20:29:30,679 DEBUG [org.springframework.integration.channel.PublishSubscribeChannel] (task-scheduler-6) preSend on channel 'errorChannel', message: [Payload=org.springframework.integration.MessagingException: Failed to obtain pooled item][Headers={timestamp=1366655370679, id=c6f7922d-d121-4f7e-b60c-5e1905960f5e}]
20:29:30,680 DEBUG [org.springframework.integration.handler.LoggingHandler] (task-scheduler-6) (inner bean)#24 received message: [Payload=org.springframework.integration.MessagingException: Failed to obtain pooled item][Headers={timestamp=1366655370679, id=c6f7922d-d121-4f7e-b60c-5e1905960f5e}]
20:29:30,681 ERROR [org.springframework.integration.handler.LoggingHandler] (task-scheduler-6) org.springframework.integration.MessagingException: Failed to obtain pooled item
    at org.springframework.integration.util.SimplePool.getItem(SimplePool.java:170)
    at org.springframework.integration.file.remote.session.CachingSessionFactory.getSession(CachingSessionFactory.java:83)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizer.synchronizeToLocalDirectory(AbstractInboundFileSynchronizer.java:143)
    at org.springframework.integration.file.remote.synchronizer.AbstractInboundFileSynchronizingMessageSource.receive(AbstractInboundFileSynchronizingMessageSource.java:146)
    at org.springframework.integration.endpoint.SourcePollingChannelAdapter.receiveMessage(SourcePollingChannelAdapter.java:111)
    at org.springframework.integration.endpoint.AbstractTransactionSynchronizingPollingEndpoint.doPoll(AbstractTransactionSynchronizingPollingEndpoint.java:67)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:146)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:144)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller$1.run(AbstractPollingEndpoint.java:236)
    at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:52)
    at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
    at org.springframework.integration.util.ErrorHandlingTaskExecutor.execute(ErrorHandlingTaskExecutor.java:49)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.run(AbstractPollingEndpoint.java:231)
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53)
    at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.IllegalStateException: failed to create SFTP Session
    at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:266)
    at org.springframework.integration.file.remote.session.CachingSessionFactory$1.createForPool(CachingSessionFactory.java:55)
    at org.springframework.integration.file.remote.session.CachingSessionFactory$1.createForPool(CachingSessionFactory.java:53)
    at org.springframework.integration.util.SimplePool.doGetItem(SimplePool.java:180)
    at org.springframework.integration.util.SimplePool.getItem(SimplePool.java:160)
    ... 22 more
Caused by: java.lang.IllegalStateException: failed to connect
    at org.springframework.integration.sftp.session.SftpSession.connect(SftpSession.java:204)
    at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:262)
    ... 26 more
Caused by: com.jcraft.jsch.JSchException: Auth cancel
    at com.jcraft.jsch.Session.connect(Session.java:463)
    at com.jcraft.jsch.Session.connect(Session.java:158)
    at org.springframework.integration.sftp.session.SftpSession.connect(SftpSession.java:196)
    ... 27 more

Я абсолютно уверен, что закрытый ключ правильный, потому что я могу сделать это:

$ sftp web@deployment
Connected to deployment.
sftp> quit

И я скопировал ~ / .ssh / id_rsa в ... путь ... / src / main / resources / keys / sftp_rsa.

Это моя конфигурация:




    

    
        
        
        
        
        
    

    
        
    

    
        
    


Мой sftp.properties выглядит так:

sftp.host=deployment
sftp.username=web
sftp.private_key_file=classpath:keys/sftp_rsa
sftp.private_key_passphrase=
sftp.remote_directory=/censored/path
sftp.port=22

я виделпохожая запись но это нене помогает, потому что я использую Java 1.6, а не 1.4.

Есть намеки?

Ответы на вопрос(1)

Ваш ответ на вопрос