ssh a negociação do algoritmo falhou

1

Problema

Ok, o problema é que estou usando o Pycharm no El Capitan. Eu estou tentando se conectar a um servidor que tem Kexalgorithms de login estrito usando os Algoritmos de Troca de Chaves mais recentes do que o Pycharm parece ter a capacidade de usar ... mas aqui está a captura, eu posso logar de um terminal, e esta mesma versão do Pycharm funciona no Ubuntu 14.04 (e eu posso logar de lá)

Eu consigo logar normalmente com o ssh com sucesso em um terminal.

Quando tento efetuar login no servidor usando o Pycharm, recebo o erro "Falha de negociação do algoritmo.

Aqui está uma entrada no meu / var / log / messages

Jan 22 23:15:56 (none) auth.crit sshd[2520]: fatal: Unable to negotiate with 10.10.16.125: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1 [preauth]'

Isso foi perguntado no StackOverflow, mas a pessoa parecia resolver o problema sozinhos, adicionando a opção de permitir que essa versão muito antiga do Diffie-Helman fosse armazenada no servidor sshd_config.

Eu não tenho permissão para adicionar a versão antiga deste Diffie-Helman ao sshd_config

Anteriormente, eu estava no Yosemite e achei que fazer a atualização corrigiria isso por causa das versões mais recentes do ssh e do openssl, mas isso não resolveu o problema.

Notas

  • Usando a mesma versão do Pycharm no Ubuntu 14.04, posso me conectar. Então parece que o Pycharm não é o problema.
  • Eu consegui acessar o servidor do meu Mac para obter essa entrada de registro de entrada

Pergunta

Preciso atualizar uma biblioteca específica relacionada ao crytpo para aplicativos que possuam recursos ssh para poder usar esses novos recursos?

    
por Dan 23.01.2016 / 00:54

2 respostas

0

Demorei um pouco para voltar aqui para responder minhas próprias perguntas.

Atualize a biblioteca Jsch

A versão 4 do Pycharm contém uma biblioteca que possui um bug. Esse bug impede a comunicação SFTP usando certos algoritmos de troca de chaves SSH com qualquer outra coisa que não as cifras básicas Diffie-Helman-group1 *. Então, precisamos atualizar a biblioteca para que o Pycharm se comunique com a nossa VM. Nossa VM permite apenas chaves muito mais modernas e evita as codificações herdadas Diffie-Helman-group1 *.

O Pycharm 4 tem uma versão desatualizada de uma biblioteca Java chamada Jsch que é usada para se comunicar com o SFTP (que é necessário para transferir os arquivos auxiliares). Para resolver isso, precisamos apenas atualizar a biblioteca.

A biblioteca atualizada foi encontrada no sourceforge e está localizada em: link

Versões afetadas

  • Mac: Pycharm < = 5
  • Windows: Pycharm < = 5
  • Linux: Pycharm < 4? (este bug não existe no 4.04 no linux)

Etapas de download

  1. Faça o download da cópia do Jsch nesta página (no topo).
  2. Remova a versão antiga: jsch-0.1.51.jar sudo rm /Applications/PyCharm.app/Contents/lib/jsch-0.1.51.jar
  3. Copie o novo diretório pycharm da biblioteca: /Applications/PyCharm.app/Contents/lib cp ~ / Downloads / jsch-0.1.53.jar /Aplicativos/PyCharm.app/Contents/lib/.
  4. Reinicie o Pycharm

Observação: isso foi corrigido no Pycharm 5 e a atualização foi corrigida para meus colegas de trabalho, mas se você tiver outros aplicativos baseados em Java, isso pode ajudá-lo.

Observação: acabei descobrindo isso cavando o log do Pycharm. Eu pude ver que há questões sobre o libary e algumas buscas no Google mais tarde e encontrei a biblioteca no sourceforge.

    
por 29.09.2016 / 04:18
1

Primeiro: o que você precisa para isso? O sshfs não faria o trabalho melhor?

Seu problema é o oposto. O servidor oferece métodos old (e possivelmente com problemas) do KeyExchange: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1 , que não são mais padrão na versão atual do servidor openssh (o que é esse servidor? Se o seu administrador de sistema informar que é strict e mais recente , do que não é verdade), mas deve ser uma tarefa para os clientes.

Você deve tentar adicionar à sua ~/.ssh/config a linha que permite esses métodos Kex:

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

se não for ajudar nas conexões no aplicativo, pode haver outra maneira de forçar o uso da configuração local.

    
por 23.01.2016 / 09:42