Índice

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Problema: Teste o Falha devido do botão SFTP a uma falha de negociação do algoritmo SSH

Solução

Erros

Informações Relacionadas

Introdução

Este original descreve como resolver uma falha de negociação do algoritmo do Shell Seguro (ssh) que possa ocorrer quando você está configurando um server do Secure File Transfer Protocol (SFTP) para arquivar gravações de Cisco MediaSense (MS).

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Cisco MediaSense

- A administração de servidor Linux

Componentes Utilizados

A informação neste documento é baseada na versão 10.5.1 e mais recente de Cisco MediaSense.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Problema: Teste o Falha devido do botão SFTP a uma falha de negociação do algoritmo SSH

Quando você clica sobre o botão do teste SFTP para testar a conexão do Secure File Transfer Protocol (SFTP) para um servidor SFTP Linuxed-baseado no MediaSense que arquiva a página de configuração, segundo as indicações da imagem, você recebe um Mensagem de Erro que leia: “Um erro geral ocorreu. Contacte seu administrador para mais detalhes.”

Note: Qualquer server do linux pode ser usado como um servidor SFTP.

A fim compreender porque a conexão do servidor SFTP falhou, você precisa de examinar os logs de ORA-oraadmin situados no dobrador de /ora/logs/oraadmin dos logs de MediaSense. Estes logs podem ser transferidos através da ferramenta do monitoramento em tempo real (RTMT) quando você seleciona a administração que de MediaSense o processo de recolhe arquivos.

Solução

Olhe nos logs de ORA-oraadmin para a configuração SFTP que salvar e o resultado do teste do botão do teste SFTP.

Você obtém um pedido atualizar a configuração do arquivo. O servidor SFTP tem 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

A resposta para atualizar a configuração é o sucesso, que significa que a configuração está ajustada corretamente.

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

Um pedido de conexão é feito pelo serviço da administração de MediaSense para conectar ao 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.

O server de MediaSense tenta conectar ao 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.

Os failes da conexão devido a uma falha de negociação do 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.

Uma falha de conexão de JSch (canal seguro das Javas) ocorre, onde JSch é a aplicação das Javas do SSH que MediaSense se usa para conectar a um server SSHD (demônio do Secure Shell) (isto é um 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

A fim encontrar porque este erro é jogado, você precisa de analisar o tráfego da captura de pacote de informação que vem dentro no server de MediaSense do servidor SFTP. Para fazer assim, execute estas etapas:

1. Abra a página de configuração do arquivo de MediaSense.

2. No MediaSense CLI, entre nestes comando:

os pacotes do arquivo do eth0 da captação da rede dos utils contam o tamanho 100000 todo o <IP_of_SFTP_Server> do IP de host

3. Clique o botão do teste SFTP na página de configuração do arquivo de MediaSense e espere o teste para falhar.

4. Depois que o teste falha, bata CTRL + C em seu MediaSense CLI para parar a captura de pacote de informação.

5. Puxe a captura de pacote de informação de RTMT.

Veja https://supportforums.cisco.com/document/44376/packet-capture-cucm-appliance-model para mais detalhes.

Esta mensagem estará jogada se MediaSense e seu servidor SFTP não podem concordar com um algoritmo das trocas de chave (KEX), cifra para o tráfego de criptografia, ou o algoritmo do código de autenticação de mensagens (MAC). Estes são os algoritmos que você deve verificar dentro a captura de pacote de informação. Você precisa de assegurar-se de que o server de MediaSense e o servidor SFTP ambos negociem pelo menos um do mesmos Key Exchange Algorithm, cifra, e algoritmo MAC. Você deve usar a captura de pacote de informação para ver que algoritmo não está sendo negociado, e para certificar-se de seu servidor SFTP negocia uns ou vários dos algoritmos faltantes.

Se você não quer olhar uma captura de pacote de informação, você pode assegurar esta configuração em seu servidor SFTP Linux-baseado:

1. Assegure-se de que seu servidor SFTP negocie com o MediaSense pelo menos um destas opções para algoritmos das trocas de chave:

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

2. Assegure-se de que seu servidor SFTP negocie com o MediaSense pelo menos um destas opções para cifras:

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

3. Assegure-se de que seu servidor SFTP negocie com o MediaSense pelo menos um destas opções para algoritmos MAC:

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

Isto pode ser ajustado em seu servidor SFTP Linux-baseado do arquivo do sshd_config (configuração do demônio SSH).

Por exemplo, se seu servidor SFTP não negocia uma cifra necessário, você pode fazê-la negociar esta adicionando esta linha ao arquivo de configuração do sshd_config em seu servidor SFTP.

Cipher

aes128-cbc

Note: Você pode adicionar alguns e todas as cifras caso necessário. Apenas separe com vírgulas.

Erros

Note por favor que a documentação está sendo melhorada para fazer este processo mais claro.

Veja os defeitos CSCva50796 e CSCva66290 da documentação.

Informações Relacionadas

Este é um link à documentação das páginas man para o arquivo do sshd_config que explica como fazer alterações de configuração a seu servidor SFTP Linux-baseado: http://manpages.ubuntu.com/manpages/wily/man5/sshd_config.5.html.

Este arquivo é ficado situado em /etc/ssh/sshd_config. As mudanças de mesma configuração são válidas para todo o servidor Linux.