Sim, é uma incompatibilidade de algoritmo de troca de chaves. (Não tem nada a ver com "login de chave pública" do seu lado. Eles são fases completamente separadas.)
O problema vem de:
-
O X2go agrupa uma biblioteca cliente SSH de baixa qualidade que nem sequer implementa as partes necessárias da especificação SSH v2 (encontrei um Relatório de erros X2go em relação a essa situação) e
-
seguindo cegamente as instruções de algum blog (provavelmente "Secure Secure Shell"?) para limitar o servidor SSH a um subconjunto muito pequeno de algoritmos de troca de chaves, nenhum dos quais é suportado pela biblioteca cliente X2go. / p>
Normalmente, usar uma biblioteca como a libssh para conexões SSH é aceitável - trabalhar com funções de biblioteca é um pouco mais conveniente do que manipular os comandos /usr/bin/ssh
em segundo plano. No entanto, o X2go no seu sistema usa uma versão muito antiga do libssh - ele implementa apenas diffie-hellman-group1-sha1
, mas não diffie-hellman-group14-sha1
, embora RFC 4253 requer ambos .
(A diferença é que "group1" (Oakley Group 2 [sic]) usa parâmetros DH de 1024 bits, que não protegem mais o suficiente O grupo 14, por sua vez, usa parâmetros de 2048 bits.
Você disse que seu sistema Linux está "razoavelmente atualizado". Quando se trata de software criptográfico, isso não é nem perto - o mais recente OpenSSH é o 7.1 (sua versão tem 6 anos), o último OpenSSL é 1.0.2d (sua versão tem 2 anos), e o último libssh é 0.7.2 (sua versão é… antiga).
-
Portanto, a melhor solução seria instalar a versão mais recente do libssh , que suporta uma ampla variedade de algoritmos de troca de chaves (como o mesmo
[email protected]
). No entanto, provavelmente será necessário pelo menos o OpenSSL 1.0.x para o suporte ao algoritmo de curva elíptica. Então, se você está preso a uma distribuição Linux mais antiga, isso pode ser problemático ... -
O outro método é a lista de permissões
diffie-hellman-group1-sha1
na lista KexAlgorithms do seu servidor, junto com as listadas atualmente. Isso resultará em conexões X2go comparativamente fracas - strongs o suficiente contra seus vizinhos, mas possivelmente fracas contra as agências de três letras. No entanto, você ainda está usando uma versão do OpenSSH a partir de 2009, então provavelmente isso não importa para você de qualquer maneira.