Определение 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
  • Как получить IP-адреса возможных злоумышленников ssh?
  • Введите пароль в SSH без ввода
  • URL Rewrite на debian не работает
  • Не удалось подключиться к SSH-серверу из MacOS
  • Загрузите фоновое изображение или установите цвет фона, если Konsole / Shell работает с SSH
  • Не удается подключиться через sshfs, потому что неправильная конфигурация в файле ~ / .ssh / config
  • Как преобразовать открытый ключ ssl, созданный в закрытый ключ openssh?
  • 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

    GLIBCXX 3.4.15 на Centos 6

    Загрузка с raid'ed> дисков 2GB, btrfs, обработка раздела загрузки BIOS

    ArchLinux | Пароль входа не работает после создания новой учетной записи пользователя

    NetBSD 7.0.2 не выполняет проверку имени хоста при использовании DHCP

    Какова связь между кодом командной строки и кодом языка более высокого уровня?

    systemd: проблема с разрешением mkdir и ExecStartPre

    Относительно отдельного файла в несколько файлов в соответствии с разделом строк

    В чем разница между созданием каталога внутри / home и / home / $ USER?

    Существует ли стандартный / общепринятый способ для библиотеки плагинов идентифицировать свое местоположение на диске?

    Файловые дескрипторы и имена файлов

    LTSP – Автоматический выбор пакета сборки

    Вызов сценария при выключении компьютера

    Как я начинаю начинать с tmux?

    Как безопасно извлечь ненадежный tar-файл?

    7za – Извлечь файл с паролем

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