Почему открытый ключ входит через ssh, а не через x2go?

я подключаюсь из системы Mac OS X к серверу Linux. Я настроил доступ к открытому ключу RSA, поэтому я могу просто ввести

ssh [hostname]

и он будет подключаться без пароля.

при попытке подключиться к клиенту удаленного рабочего стола x2go, я получаю сообщение об ошибке:

kex error : did not find one of algos diffie-hellman-group1-sha1 in list curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1 for kex algos

моя система Mac OS X довольно старая, работает Snow Leopard 10.6.8. Система Linux достаточно современна. Версия, о которой сообщает ssh-v,

OpenSSH_5.2p1, OpenSSL 0.9.8y 5 Feb 2013

Я слышал, что это ошибка kex может указывать на несоответствие алгоритмов шифрования на клиенте и сервере. Но почему SSH преуспеть там, где не x2go? Могу ли я заставить x2go сделать все, что делает ssh для успешного входа? Часть проблемы заключается в том, что x2go не сообщает о последовательности событий (в отличие от ssh-v), поэтому я не уверен, что именно он пытался сделать. Если есть способ заставить его отображать подробный журнал, это было бы полезно.

3
задан mfardal
16.02.2023 18:57 Количество просмотров материала 3302
Распечатать страницу

1 ответ

Да, это несоответствие алгоритма обмена ключами. (Это не имеет ничего общего с "логином с открытым ключом" с вашей стороны. Это совершенно разные этапы.)

проблема возникает из:

  • X2go комплектация некачественной клиентской библиотеки SSH, которая даже не реализует требуются части спецификации SSH v2 (я нашел X2go сообщение об ошибке касательно этой ситуации), и

  • слепое следование инструкции от некоторых blogpost (вероятно, "Secure Secure Shell"?) для ограничения SSH-сервера очень небольшим подмножеством алгоритмов обмена ключами, ни один из которых не поддерживается клиентской библиотекой X2go.

как правило, использование библиотеки, такой как libssh для SSH соединений в порядке-работа с библиотечными функциями немного удобнее, чем жонглирование /usr/bin/ssh команды в фоновом режиме. Однако X2go в вашей системе использует очень старую версию libssh - она только реализует diffie-hellman-group1-sha1, а не diffie-hellman-group14-sha1, хотя RFC 4253 требует обоих.

(разница в том, что "group1" (Oakley Group 2 [sic]) использует 1024-битные параметры DH, что больше не достаточно безопасно. Группа 14 использует 2048-битные параметры.)


вы сказали, что ваша система Linux "достаточно актуальна". Когда дело доходит до шифрования, то есть даже не близко – последняя версия OpenSSH-7.1 (ваша версия-6 лет), последний OpenSSL является 1.0.2 д (ваш вариант 2-х лет), и последний libssh является 0.7.2 (ваша версия старая).

  • так что лучшим решением было бы установить последнюю версию libssh, который поддерживает широкий спектр алгоритмов обмена ключами (например, тот же curve25519-sha256@libssh.org). Тем не менее, это, вероятно, потребует по крайней мере OpenSSL 1.0.X для эллиптической кривой алгоритм. Так что если вы застряли со старым дистрибутивом Linux, это может быть хлопотный...

  • другой способ-это белый diffie-hellman-group1-sha1 в списке KexAlgorithms вашего сервера, наряду с перечисленными в настоящее время. Это приведет к сравнительно слабым связям X2go - достаточно сильным против ваших соседей, но, возможно, слабым против трех буквенных агентств. Тем не менее, вы все еще используете версию OpenSSH с 2009 года, поэтому, вероятно, для вас это не имеет значения.

0
отвечен grawity 2023-02-18 02:45

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх