Вопрос или проблема
Я недавно перешел на виртуальную машину с Debian для установки FreePBX. Ранее я мог подключаться к своему редактору кода с использованием Secure FTP, но после перехода я не могу этого сделать, и получаю следующий лог:
<имя хоста сервера> sshd[644596]: Невозможно провести переговоры с <ip клиента> порт 55208: не найдено подходящего типа ключа хоста. Их предложение: ssh-rsa,ssh-dss [предварительно аутентифицировано]
Я нашел несколько решений на этом сайте, но они, похоже, не работают. Одно из них:
Добавьте следующее в .ssh/config
Host *
HostkeyAlgorithms +ssh-dss
PubkeyAcceptedKeyTypes +ssh-dss
Я думаю, что испробовал все упомянутые здесь варианты: https://askubuntu.com/questions/836048/ssh-returns-no-matching-host-key-type-found-their-offer-ssh-dss
Это только для Ubuntu или это должно работать и на чистом Debian?
Добавление следующих строк в /etc/ssh/sshd_config решило проблему для меня:
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
Ответ или решение
Проблема, с которой вы столкнулись при попытке подключения к вашему FreePBX через Secure FTP, связана с несовпадением типов ключей хоста в протоколе SSH. Сообщение об ошибке "no matching host key type found. Their offer: ssh-rsa,ssh-dss [preauth]" указывает на то, что клиент, с которого вы пытаетесь подключиться, предлагает определенные алгоритмы (ssh-rsa и ssh-dss), которые не поддерживаются текущими настройками SSH-сервера на вашем Debian VM.
Анализ ситуации
-
Проблема с ключами: Ваша система, вероятно, настроена на использование более современных алгоритмов для аутентификации, и при этом поддержка устаревших алгоритмов, таких как ssh-dss, была отключена. Это решение принято в целях повышения безопасности, так как устаревшие алгоритмы могут быть подвержены атакам.
-
Клиентская конфигурация: Ошибка может возникать также из-за конфигурации SSH-клиента, который не поддерживает алгоритмы, используемые вашим сервером.
Возможные решения
1. Изменение конфигурации SSH-сервера
Вы можете исправить проблему, внеся изменения в конфигурационный файл SSH-сервера на вашем Debian. Это можно сделать следующим образом:
-
Откройте файл конфигурации SSH-сервера:
sudo nano /etc/ssh/sshd_config
-
Добавьте или измените следующие строки:
HostKeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms +ssh-rsa
-
Сохраните изменения и выйдите из редактора.
-
Перезапустите SSH-сервер, чтобы изменения вступили в силу:
sudo systemctl restart ssh
2. Изменение конфигурации SSH-клиента
Если изменения на сервере не помогают или если вы не хотите изменять конфигурацию сервера, вы можете модифицировать настройки SSH-клиента (клиент, с которого вы подключаетесь):
-
Откройте файл конфигурации клиента SSH:
nano ~/.ssh/config
-
Добавьте следующее:
Host * HostkeyAlgorithms +ssh-dss PubkeyAcceptedKeyTypes +ssh-dss
-
Сохраните изменения и закройте редактор.
Проверка
После внесения изменений попробуйте подключиться снова. Если изменения выполнены корректно, соединение должно установиться.
Заключение
Исходя из предоставленных вами данных, вы, вероятно, столкнулись с известной проблемой совместимости алгоритмов SSH. Однако корректируя конфигурацию SSH-сервера и клиента, вы сможете восстановить доступ к вашему FreePBX через Secure FTP. Это решение применимо как для Ubuntu, так и для Debian, поскольку основные концепции работы SSH остаются схожими в этих дистрибутивах.