Весна - проверка подлинности SFTP периодически терпела неудачу - PullRequest
0 голосов
/ 17 ноября 2018

Это выглядит так странно. На нашем сервере prod мы устанавливаем SFTP-соединение через jsch. Это работает хорошо до полудня дня с authkey сервера. Внезапно в течение 30 минут мы сталкиваемся с проблемой из-за сбоя аутентификации. Затем снова это начало работать. Пожалуйста, порекомендуйте.

Caused by: org.springframework.messaging.MessagingException: Failed to execute on session; nested exception is java.lang.IllegalStateException: failed to create SFTP Session
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:343)
    at org.springframework.integration.file.remote.RemoteFileTemplate.send(RemoteFileTemplate.java:209)
    at org.springframework.integration.file.remote.RemoteFileTemplate.send(RemoteFileTemplate.java:199)
    at org.springframework.integration.file.remote.RemoteFileTemplate.send(RemoteFileTemplate.java:193)
    at org.springframework.integration.file.remote.handler.FileTransferringMessageHandler.handleMessageInternal(FileTransferringMessageHandler.java:110)
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)
    at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
    ... 10 more
Caused by: java.lang.IllegalStateException: failed to create SFTP Session
    at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:355)
    at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:49)
    at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:332)
    ... 16 more
Caused by: java.lang.IllegalStateException: failed to connect
    at org.springframework.integration.sftp.session.SftpSession.connect(SftpSession.java:272)
    at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:350)
    ... 18 more
Caused by: com.jcraft.jsch.JSchException: SSH_MSG_DISCONNECT: 11 Too many bad authentication attempts! 
    at com.jcraft.jsch.Session.read(Session.java:987)
    at com.jcraft.jsch.UserAuthPublicKey.start(UserAuthPublicKey.java:83)
    at com.jcraft.jsch.Session.connect(Session.java:463)
    at com.jcraft.jsch.Session.connect(Session.java:183)
    at org.springframework.integration.sftp.session.SftpSession.connect(SftpSession.java:263)

1 Ответ

0 голосов
/ 19 ноября 2018

Наконец, мы выяснили причину проблемы.Похоже, что команда FileNet имеет некоторый порог для принятия неверных учетных данных.Когда приложение превышает это пороговое значение недопустимых попыток, оно сбрасывает SSH_MSG_DISCONNECT: 11 Too many bad authentication attempts! и, по-видимому, переводит его в режим ожидания принятия нового соединения на 15 или 30 минут.

Похоже, что одна из программ планировщика в prod использует недействительные учетные данные для неоднократного попадания в FileNet автономным способом.Из-за этого другие программы, которые предположительно работают нормально, периодически выдавали ошибку, когда Filenet не могла принять новое соединение из-за превышения порога неудачных попыток аутентификации, вызванных другой программой.

...