Contenido

Introducción

prerrequisitos

Requisitos

Componentes Utilizados

Problema: Pruebe a la falla a causa del botón SFTP a una falla de negociación del algoritmo de SSH

Solución

Bug

Información Relacionada

Introducción

Este documento describe cómo resolver una falla de negociación del algoritmo del Secure Shell (SSH) que pueda ocurrir cuando usted está configurando un servidor del Secure File Transfer Protocol (SFTP) para archivar las grabaciones de Cisco MediaSense (MS).

Prerrequisitos

Requisitos

Cisco recomienda que tenga conocimiento sobre estos temas:

- Cisco MediaSense

- La administración de servidor Linux

Componentes Utilizados

La información en este documento se basa en la versión 10.5.1 y posterior de Cisco MediaSense.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Problema: Pruebe a la falla a causa del botón SFTP a una falla de negociación del algoritmo de SSH

Cuando usted hace clic en el botón de la prueba SFTP para probar la conexión del Secure File Transfer Protocol (SFTP) para un servidor SFTP Linuxed-basado en el MediaSense que archiva la página de configuración, tal y como se muestra en de la imagen, usted recibe un mensaje de error que lea: “Un Error general ocurrió. Entre en contacto a su administrador para más detalles.”

Note: Cualquier servidor del linux se puede utilizar como servidor SFTP.

Para entender porqué la conexión del servidor SFTP falló, usted necesita examinar los registros de ORA-oraadmin situados en la carpeta de /ora/logs/oraadmin de los registros de MediaSense. Estos registros se pueden descargar a través de la herramienta del monitoreo en tiempo real (RTMT) cuando usted selecciona la administración de MediaSense que el proceso de recoge los archivos.

Solución

Mire en los registros de ORA-oraadmin para la configuración SFTP se guarda que y el resultado de la prueba del botón de la prueba SFTP.

Usted consigue una petición de poner al día la configuración del archivo. El servidor SFTP tiene IP 10.1.2.25.

0000000387: 10.1.2.3: Jul 12 2016 14:43:09.168 -0500: %CCBU_COMMON-6-COMMON_SS_CFG_REQ:

{Thrd=http-bio-443-exec-14} %[destination=topic://<RD>.<BUILDNUM>.Broadcast.CFG]

[message=SetPropertiesRequest[Request,properties=[

[node=0,name=basicArchiving.0.hostname,value=10.1.2.25,lastModified=1468352589168],

[node=0,name=basicArchiving.appTypeArchiving.enabled,value=,lastModified=1468352589168],

[node=0,name=basicArchiving.audioArchiving.enabled,value=1,lastModified=1468352589168],

[node=0,name=basicArchiving.0.bandWidthInKB,value=256,lastModified=1468352589168],

[node=0,name=basicArchiving.0.password,value=xxxxxxxxxxxxxx==,lastModified=1468352589168],

[node=0,name=basicArchiving.0.path,value=/home/mediasense,lastModified=1468352589168],

[node=0,name=basicArchiving.archiveSessionAgedInDays,value=31,lastModified=1468352589168],

[node=0,name=basicArchiving.startTimeInMinutes,value=60,lastModified=1468352589168],

[node=0,name=basicArchiving.0.transferConnectionCount,value=3,lastModified=1468352589168],

[node=0,name=basicArchiving.0.username,value=mediasense,lastModified=1468352589168],

[node=0,name=basicArchiving.videoArchiving.enabled,value=0,lastModified=1468352589168],

[node=0,name=basicArchiving.searchArchiving.enabled,value=1,lastModified=1468352589168],

[node=0,name=basicArchiving.0.ssh.username,value=mediasense,lastModified=1468352589168],

[node=0,name=basicArchiving.0.ssh.password,value=xxxxxxxxxxxxxx==,

lastModified=1468352589168]

],seqnum=43,header=MessageHeader[jmsType=ORA.CFG.SetPropertiesRequest,id=null,

corrId=null,ssId=ADMIN1,ssType=ADMIN,

dest=null,replyTo=<RD>.<BUILDNUM>.ReplyTo.<NODEID>.<SVC>.<SSID>,kind=NORMAL,

msgVersion=[1, 1, 1],timestamps={created=1468352589167}],state=CREATED,sequenced=false,

msg={null}]]: Config request published

0000000388: 10.1.2.3: Jul 12 2016 14:43:09.326 -0500:

%CCBU_COMMON-6-MediaSenseG_INCOMING_FROM_BUS: {Thrd=ActiveMQ Session Task-7}

%[correlation_id=null][mid=ID:msense01-59430-1468291227694-3:3:2:1:22]

[msg_kind=ActiveMQMapMessage][msg_type=ORA.CFG.PropertiesUpdatedEvent]:

A message has been received by the message bus

0000000614: 10.1.2.3: Jul 12 2016 14:43:09.329 -0500:

%CCBU_ADMIN-6-MediaSenseG_CANCEL_REQUEST: {Thrd=ActiveMQ Session Task-6}

%[correlation_id=null][mid=null][msg_always_deliver_response=false]

[msg_kind=TIMEOUT][msg_req_id=ADMIN.ADMIN1.1468352589168.12]

[msg_type=ORA.CFG.SetPropertiesResponse]:

A timeout for a pending request has been cancelled.

0000000615: 10.1.2.3: Jul 12 2016 14:43:09.330 -0500: %CCBU_ADMIN-7-PRE_RETURN:

{Thrd=ActiveMQ Session Task-6} Starting message return,

type = ORA.CFG.SetPropertiesResponse, corr_id = null

0000000615: 10.1.2.3: Jul 12 2016 14:43:09.330 -0500: %CCBU_ADMIN-7-PRE_RETURN:

{Thrd=ActiveMQ Session Task-6} Starting message return,

type = ORA.CFG.SetPropertiesResponse, corr_id = null

0000000389: 10.1.2.3: Jul 12 2016 14:43:09.330 -0500: %CCBU_COMMON-7-PRE_DISPATCH:

{Thrd=ActiveMQ Session Task-7} Starting message dispatch,

type = ORA.CFG.PropertiesUpdatedEvent, corr_id = null

0000000390: 10.1.2.3: Jul 12 2016 14:43:09.331 -0500:

%CCBU_COMMON-7-INCOMING_MediaSenseG: {Thrd=ActiveMQ Session Task-7}

PropertiesUpdatedHandler:sequenceImpl(com.cisco.ccbu.infra.msg.MediaSenseGDispatcher$

1@5db368): ORA.CFG.PropertiesUpdatedEvent

La respuesta para poner al día la configuración es el éxito, que significa que la configuración está fijada correctamente.

0000000391: 10.1.2.3: Jul 12 2016 14:43:09.331 -0500:

%CCBU_COMMON-6-COMMON_SS_CFG_MediaSenseG: {Thrd=http-bio-443-exec-14}

%[message=SetPropertiesResponse[Response,status=SUCCESS,properties=[

[node=0,name=basicArchiving.0.hostname,value=10.1.2.25,lastModified=1468352589177],

[node=0,name=basicArchiving.appTypeArchiving.enabled,value=,lastModified=1468352589177],

[node=0,name=basicArchiving.audioArchiving.enabled,value=1,lastModified=1468352589177],

[node=0,name=basicArchiving.0.bandWidthInKB,value=256,lastModified=1468352589177],

[node=0,name=basicArchiving.0.password,value=xxxxxxxxxxxxxx==,lastModified=1468352589177],

[node=0,name=basicArchiving.0.path,value=/home/mediasense,lastModified=1468352589177],

[node=0,name=basicArchiving.archiveSessionAgedInDays,value=31,lastModified=1468352589177],

[node=0,name=basicArchiving.startTimeInMinutes,value=60,lastModified=1468352589177],

[node=0,name=basicArchiving.0.transferConnectionCount,value=3,lastModified=1468352589177],

[node=0,name=basicArchiving.0.username,value=mediasense,lastModified=1468352589177],

[node=0,name=basicArchiving.videoArchiving.enabled,value=0,lastModified=1468352589177],

[node=0,name=basicArchiving.searchArchiving.enabled,value=1,lastModified=1468352589177],

[node=0,name=basicArchiving.0.ssh.username,value=mediasense,lastModified=1468352589177],

[node=0,name=basicArchiving.0.ssh.password,value=xxxxxxxxxxxxxx==,lastModified=1468352589177],

[node=0,name=node.last.modified,value=1468352589177,lastModified=1468352589177]

],seqnum=45,header=MessageHeader[

... //Lines Deleted for brevity//

]: Config message received

Un pedido de conexión es hecho por el servicio de la administración de MediaSense para conectar con el servidor SFTP.

0000000629: 10.1.2.3: Jul 12 2016 14:43:13.431 -0500: %CCBU_ADMIN-6-GENERAL_LOG:

{Thrd=http-bio-443-exec-14} %[message_string=ArchiveConfigurationAction : connect():

- in the method call]: oraadmin general log.

El servidor de MediaSense intenta conectar con el servidor SFTP 10.1.2.25.

0000000630: 10.1.2.3: Jul 12 2016 14:43:13.431 -0500: %CCBU_ADMIN-6-GENERAL_LOG:

{Thrd=http-bio-443-exec-14} %[message_string=ArchiveConfigurationAction : connect():

Connecting to server :: 10.1.2.25]: oraadmin general log.

0000000631: 10.1.2.3: Jul 12 2016 14:43:13.431 -0500: %CCBU_ADMIN-6-GENERAL_LOG:

{Thrd=http-bio-443-exec-14} %[message_string=ArchiveConfigurationAction :

testSftpConnection - in the method call]: oraadmin general log.

Los failes de la conexión debido a una falla de negociación del algoritmo.

0000000632: 10.1.2.3: Jul 12 2016 14:43:13.632 -0500: %CCBU_ADMIN-6-GENERAL_LOG:

{Thrd=http-bio-443-exec-14} %[message_string=ArchiveConfigurationAction : connect():

Cause ::Algorithm negotiation fail]: oraadmin general log.

Una falla de conexión de JSch (canal seguro de las Javas) ocurre, donde está la implementación JSch de las Javas de SSH que MediaSense utiliza para conectar con el SSHD (daemon del shell seguro) un servidor (es decir servidor SFTP).

0000000633: 10.1.2.3: Jul 12 2016 14:43:13.632 -0500: %CCBU_ADMIN-6-GENERAL_LOG:

{Thrd=http-bio-443-exec-14} %[message_string=ArchiveConfigurationAction : connect():

:: Error with JSch connection]: oraadmin general log.

0000000634: 10.1.2.3: Jul 12 2016 14:43:13.632 -0500: %CCBU_ADMIN-7-EXCEPTION:

{Thrd=http-bio-443-exec-14} Trace exception: com.jcraft.jsch.JSchException:

Algorithm negotiation fail .

0000000635: 10.1.2.3: Jul 12 2016 14:43:13.633 -0500: %CCBU_ADMIN-7-EXCEPTION_INFO:

%[build_date=Jan 17, 1970 8:05 AM][build_type=rel]

[exception=com.jcraft.jsch.JSchException: Algorithm negotiation fail

at com.jcraft.jsch.Session.receive_kexinit(Session.java:583)

at com.jcraft.jsch.Session.connect(Session.java:320)

at com.jcraft.jsch.Session.connect(Session.java:183)

at com.cisco.ora.oraadmin.presentation.action.configuration.archiveconfig.ArchiveConfigurationAction.newSession(ArchiveConfigurationAction.java:331)

at com.cisco.ora.oraadmin.presentation.action.configuration.archiveconfig.ArchiveConfigurationAction.testSftpConnection(ArchiveConfigurationAction.java:294)

at com.cisco.ora.oraadmin.presentation.action.configuration.archiveconfig.ArchiveConfigurationAction.connect(ArchiveConfigurationAction.java:175)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)

at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)

at com.cisco.ora.oraadmin.presentation.action.ExtendedDispatchAction.execute(ExtendedDispatchAction.java:115)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at com.cisco.vos.platform.tomcat.valves.CiscoResponseHeaderFilter.doFilter(Unknown Source)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at com.cisco.ccm.common.security.ChangePasswordFilter.doFilter(ChangePasswordFilter.java:86)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)

at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:341)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744)

][product_name=MediaSense][subsystem_exception_info=][tid=http-bio-443-exec-14]

[version_number=MediaSense_9_0_1_0_0_0_902]: Information associated with the following

logged exception

Para descubrir porqué se lanza este error, usted necesita analizar el tráfico de la captura de paquetes que viene adentro en el servidor de MediaSense del servidor SFTP. Para hacer así pues, realice estos pasos:

1. Abra la página de configuración del archivo de MediaSense.

2. En el MediaSense CLI, ingrese éstos comando:

los paquetes del archivo del eth0 de la captura de la red del utils cuentan 100000 el tamaño todos IP del host <IP_of_SFTP_Server>

3. Haga clic el botón de la prueba SFTP en la página de configuración del archivo de MediaSense y espere la prueba para fallar.

4. Después de que la prueba falle, golpee Ctrl + C en su MediaSense CLI para parar a la captura de paquetes.

5. Tire de la captura de paquetes de RTMT.

Vea https://supportforums.cisco.com/document/44376/packet-capture-cucm-appliance-model para más detalles.

Este mensaje será lanzado si MediaSense y su servidor SFTP no pueden estar de acuerdo con un algoritmo del intercambio de claves (KEX), cifra para el tráfico encriptado, o el algoritmo del código de autenticación de mensaje (MAC). Éstos son los algoritmos que usted debe incorporar la captura de paquetes. Usted necesita asegurarse de que el servidor y el servidor SFTP ambos de MediaSense negocien por lo menos uno del mismo Key Exchange Algorithm, cifra, y algoritmo MAC. Usted debe utilizar a la captura de paquetes para ver qué algoritmo no se está negociando, y aseegurarse a su servidor SFTP negocia uno o más de los algoritmos que falta.

Si usted no quiere mirar a una captura de paquetes, usted puede asegurar esta configuración en su servidor SFTP Linux-basado:

1. Asegúrese de que su servidor SFTP negocie con MediaSense por lo menos uno de estas opciones para los algoritmos del intercambio de claves:

diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1

2. Asegúrese de que su servidor SFTP negocie con MediaSense por lo menos uno de estas opciones para las cifras:

aes128-cbc,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc

3. Asegúrese que su servidor SFTP negocie con MediaSense por lo menos uno de estas opciones para los algoritmos MAC:

hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96

Esto se puede fijar en su servidor SFTP Linux-basado del archivo del sshd_config (config del daemon ssh).

Por ejemplo, si su servidor SFTP no negocia una cifra necesaria, usted puede hacer que negocia esto agregando esta línea al archivo de configuración del sshd_config en su servidor SFTP.

Cipher

aes128-cbc

Note: Usted puede agregar cualquiera y todas las cifras en caso necesario. Apenas sepárese con las comas.

Bug

Observe por favor que la documentación se está mejorando para hacer este proceso más claro.

Vea los defectos CSCva50796 y CSCva66290 de la documentación.

Información Relacionada

Esto es un link a la documentación de los página de man para el archivo del sshd_config que explica cómo realizar los cambios de configuración a su servidor SFTP Linux-basado: http://manpages.ubuntu.com/manpages/wily/man5/sshd_config.5.html.

Este archivo está situado en /etc/ssh/sshd_config. Los cambios de misma configuración son válidos para cualquier servidor Linux.