Contenu

Introduction

Conditions préalables

Conditions requises

Composants utilisés

Problème : Le bouton de SFTP de test échoue en raison d'une panne de négociation d'algorithme de SSH

Solution

Bogues

Informations connexes

Introduction

Ce document décrit comment résoudre une panne de négociation d'algorithme de Protocole Secure Shell (SSH) qui peut se produire quand vous configurez un serveur de Protocole SFTP (Secure File Transfer Protocol) pour archiver des enregistrements de Cisco MediaSense (MS).

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Cisco MediaSense

- Gestion de serveur Linux

Composants utilisés

Les informations dans ce document sont basées sur la version 10.5.1 et ultérieures de Cisco MediaSense.

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Problème : Le bouton de SFTP de test échoue en raison d'une panne de négociation d'algorithme de SSH

Quand vous cliquez sur en fonction le bouton de SFTP de test pour tester la connexion de Protocole SFTP (Secure File Transfer Protocol) pour un serveur basé sur Linuxed de SFTP sur le MediaSense archivant la page de configuration, suivant les indications de l'image, vous recevez un message d'erreur qui lit : « Une erreur générale s'est produite. Contactez votre administrateur pour plus de détails. »

Note: N'importe quel serveur de Linux peut être utilisé en tant que serveur de SFTP.

Afin de comprendre pourquoi la connexion au serveur de SFTP a manqué, vous devez examiner les logs d'ORA-oraadmin situés dans le répertoire de /ora/logs/oraadmin des logs de MediaSense. Ces logs peuvent être téléchargés par l'outil de suivi en temps réel (RTMT) quand vous sélectionnez la gestion de MediaSense que le processus de collectent des fichiers.

Solution

Regardez dans les logs d'ORA-oraadmin pour la configuration de SFTP qui est enregistrée et le résultat du test de bouton de SFTP de test.

Vous obtenez une demande de mettre à jour la configuration d'archives. Le serveur de SFTP a 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 réponse pour mettre à jour la configuration est un succès, qui signifie que la configuration est correctement placée.

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

Une demande de connexion est faite par le service de gestion de MediaSense pour connecter au SFTP le serveur.

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.

Les essais de serveur de MediaSense pour connecter au SFTP le serveur 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.

Les failes de connexion dus à une panne de négociation d'algorithme.

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.

Une panne de connexion de JSch (la Manche de sécuriser de Javas) se produit, où JSch est l'implémentation de Javas du SSH que MediaSense l'utilise pour connecter à un serveur SSHD (sécurisez le démon de shell) (c.-à-d. un serveur de 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

Afin de découvrir pourquoi cette erreur est jetée, vous devez analyser le trafic de capture de paquet qui entre sur le serveur de MediaSense du serveur de SFTP. Pour faire ainsi, exécutez ces étapes :

1. Ouvrez la page de configuration d'archives de MediaSense.

2. Sur le MediaSense CLI, entrez dans ces derniers commande :

les paquets de fichier de la capture eth0 de réseau d'utils comptent la taille 100000 tout le <IP_of_SFTP_Server> d'IP d'hôte

3. Cliquez sur le bouton de SFTP de test à la page de configuration d'archives de MediaSense et attendez le test pour échouer.

4. Après que le test échoue, frappez CTRL + C sur votre MediaSense CLI pour arrêter la capture de paquet.

5. Tirez la capture de paquet de RTMT.

Voir le https://supportforums.cisco.com/document/44376/packet-capture-cucm-appliance-model pour plus de détails.

Ce message sera jeté si MediaSense et votre serveur de SFTP ne peuvent pas convenir sur un algorithme principal de l'échange (KEX), le chiffrement pour le trafic de chiffrage, ou l'algorithme de code d'authentification de message (MAC). Ce sont les algorithmes que vous devez signer la capture de paquet. Vous devez s'assurer que le serveur et le serveur chacun des deux de MediaSense de SFTP négocient au moins un du mêmes algorithme d'échange, chiffrement, et algorithme principaux de MAC. Vous devez utiliser la capture de paquet pour voir quel algorithme n'est pas négocié, et s'assurer votre serveur de SFTP négocie un ou plusieurs des algorithmes manquants.

Si vous ne voulez pas regarder une capture de paquet, vous pouvez assurer cette configuration sur votre serveur de SFTP de Linux :

1. Assurez-vous que votre serveur de SFTP est en pourparlers avec MediaSense au moins un de ces options pour les algorithmes principaux d'échange :

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

2. Assurez-vous que votre serveur de SFTP est en pourparlers avec MediaSense au moins un de ces options pour des chiffrements :

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

3. Assurez que votre serveur de SFTP est en pourparlers avec MediaSense au moins un de ces options pour des algorithmes de MAC :

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

Ceci peut être placé dans votre serveur de SFTP de Linux à partir du fichier de sshd_config (config de démon de SSH).

Par exemple, si votre serveur de SFTP ne négocie pas un chiffrement nécessaire, vous pouvez le faire négocier ceci en ajoutant cette ligne au fichier de configuration de sshd_config sur votre serveur de SFTP.

Cipher

aes128-cbc

Note: Vous pouvez ajouter l'intégralité de chiffrements s'il y a lieu. Séparez juste avec des virgules.

Bogues

Veuillez noter que la documentation est améliorée pour rendre ce processus plus clair.

Voir les défauts CSCva50796 et CSCva66290 de documentation.

Informations connexes

C'est un lien à la documentation de man page pour le fichier de sshd_config qui explique comment apporter des modifications de configuration à votre serveur de SFTP de Linux : http://manpages.ubuntu.com/manpages/wily/man5/sshd_config.5.html.

Ce fichier se trouve chez /etc/ssh/sshd_config. Les mêmes modifications de configuration sont valides pour n'importe quel serveur Linux.