Определение SSH KexAlgorithms работает в CLI, но не через ssh_config

По умолчанию мой клиент SSH запрещает использование алгоритма обмена ключами diffie-hellman-group-exchange-sha256 . Однако мне нужно получить доступ к серверу на 10.0.0.1, который требует использования этого алгоритма.

Это отлично работает в командной строке:

 $ ssh -o KexAlgorithms=diffie-hellman-group-exchange-sha256 user@10.0.0.1 Password: 

Однако он не работает, если я /etc/ssh/ssh_config использовать следующее дополнение в конце /etc/ssh/ssh_config :

 Host 10.0.0.1 KexAlgorithms diffie-hellman-group-exchange-sha256 

Вот соответствующий вывод:

 $ ssh -vvv user@10.0.0.1 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug3: kex names ok: [curve25519-sha256@libssh.org] ... debug1: /etc/ssh/ssh_config line 72: Applying options for 10.0.0.1 debug3: kex names ok: [diffie-hellman-group-exchange-sha256] ... debug1: Connecting to 10.0.0.1 [10.0.0.1] port 22. debug1: Connection established. ... debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug2: kex_parse_kexinit: curve25519-sha256@libssh.org ... debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256 ... debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: mac_setup: setup hmac-ripemd160 debug1: kex: server->client aes256-ctr hmac-ripemd160 none debug2: mac_setup: setup hmac-ripemd160 debug1: kex: client->server aes256-ctr hmac-ripemd160 none Unable to negotiate a key exchange method 

То, что я нахожу в этом недоумением, заключается в том, что SSH явно читает соответствующую строку в /etc/ssh/ssh_config и, похоже, доволен этим. Но затем он пытается договориться о ключевом обмене с сервером, используя curve25519-sha256@libssh.org вместо diffie-hellman-group-exchange-sha256 , который, конечно же, не удался.

Почему он это делает, и как я могу его исправить?

  • Сколько оперативной памяти должно использовать SSH-соединение?
  • Проблема пересылки X11 Netscape
  • Как определить, какой ключевой файл SSH использовался для аутентификации входа?
  • Вход ssh в скрипт Bash
  • Почему SSH -t не ждет фоновых процессов?
  • Как выполнить удаленный сценарий с помощью «экранов»?
  • Время ожидания подключения sshuttle
  • ssh и экран автоматически - что мне не хватает?
  • One Solution collect form web for “Определение SSH KexAlgorithms работает в CLI, но не через ssh_config”

    Варианты OpenSSH могут выглядеть как-то странно с первого взгляда. Но справочная страница для ssh_config хорошо документирует:

    Для каждого параметра будет использовано первое полученное значение . Файлы конфигурации содержат разделы, разделенные спецификациями «Host», и этот раздел применяется только для хостов, которые соответствуют одному из шаблонов, указанным в спецификации. Соответствующее имя хоста, как правило, указано в командной строке (см. Параметр CanonicalizeHostname для исключений).

    Вы можете переписать свой конфиг таким образом, чтобы достичь того, что вам нужно (совпадение звездочки должно быть последним):

     Host 10.0.0.1 KexAlgorithms diffie-hellman-group-exchange-sha256 #[...] Host * KexAlgorithms curve25519-sha256@libssh.org 

    Из моего двойного ответа

    И чтобы объяснить, почему опция командной строки работает, также с той же самой страницы руководства для ssh_config :

    1. параметры командной строки
    2. файл конфигурации пользователя (~ / .ssh / config)
    3. системный файл конфигурации (/ etc / ssh / ssh_config)
    Interesting Posts

    Почему я получаю «недопустимый максимальный счет» из grep в псевдониме?

    Как настроить gdb для сканирования через кучную память?

    Встроенный жидкокристаллический ЖК-дисплей не откалиброван

    Нажмите, когда активное меню не активирует действие

    читать образцы из файла1 и искать их итеративно в файле2

    / bin / bash Нет такого файла или каталога Соединение закрыто

    Разница в условиях / испытания

    Команды apt-get не возвращаются

    Демон Synghing запускается вручную с использованием скрипта, но не при запуске

    Неблокирующий Dhcpcd через Systemctl

    Как я могу переименовать файлы устройств для моего устройства чтения карт памяти?

    можно заморозить процесс в Linux и перезагрузить или выключить компьютер. Затем продолжайте процесс, который был заморожен?

    Прекратить завершение bash из-за умных и игнорирования расширений

    Как сделать обеспечение качества объединенных видео?

    Что принадлежит сайту site.pp, и что следует из него вынести?

    Linux и Unix - лучшая ОС в мире.