diffie-hellman-group-exchange-sha256 не работает со всем программным обеспечением после обновления до 16.04 - OpenSSH_7.2p2
Я обновил 2 компьютера с Ubuntu 14.04LTS до 16.04LTS, и у меня проблема с openssh.
Например, с помощью программного обеспечения, такого как Putty 0.64 и менее, я не могу установить связь с diffie-hellman-group-exchange-sha256 или diffie-hellman-group-exchange-sha1.
Первая работа - это diffie-hellman-group14-sha1.
До обновления он работал хорошо, и на другом компьютере с 14.04LTS он продолжал хорошо работать с замазкой 0,64 и менее с diffie-hellman-group-exchange-sha256.
Это странно, потому что с Putty 0.65 и более продолжают хорошо работать.
Поэтому я думаю, что моя конфигурация все еще хороша, и это то же самое, что и рабочая Ubuntu 14.04.
Это ошибка в OpenSSH_7.2p2 Ubuntu-4ubuntu2.1?
большое спасибо
1 ответ
При подключении к различным ssh-серверам (в данном случае к финансовым учреждениям) я обнаружил, что многие методы diffie-hellman-group-exchange не работают с Ubuntu 16, в то время как с Ubuntu 14 они работают нормально. делать с согласованием размера ключа после принятия метода. OpenSSH в Ubuntu 16 не будет принимать ключ длиной менее 2048 бит, в то время как более старый OpenSSH в этом контексте принимал более короткий ключ. Обходной путь для клиента состоит в том, чтобы исключить их. Так что в /etc/ssh/ssh_config у меня есть:
HostKeyAlgorithms +ssh-dss
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,curve25519-sha256@libssh.org
Первая строка, разрешающая DSS, я знаю, менее безопасна. Но соединения необходимы, и я не контролирую эти серверы. Второй - это полный список поддерживаемых методов обмена ключами (ssh -Q kex), в котором не указаны только два проблемных метода diffie-hellman-group-exchange-*. Вероятно, было бы лучше перечислить их в обратном порядке, так как это может быть принято в качестве порядка предпочтения, и список, который у меня есть, ставит новые, более сильные методы последними. В любом случае, исключение тех, которые не будут работать с серверами, с которыми вам нужно соединиться, или альтернативное указание одного, совместимого с известными в одной командной строке, - это способ решения проблемы, которую вы и я видели.