Вопрос или проблема
Я пытался деактивировать слабые MAC в /etc/ssh/sshd_config, вот файл:
ПарольнаяАутентификация да
АутентификацияСчитыванияОтветов нет
ИспользоватьPAM да
X11Пересылка да
ПечатьСообщения нет
ПриниматьПеременныеСреды LANG LC_*
Подсистема sftp /usr/lib/openssh/sftp-server
ЗапретитьПользователей www-data
MACs hmac-sha2-256,hmac-sha2-512
РазрешитьВходПодКорнем запретить-пароль
Однако даже после перезагрузки вход с другими MAC по-прежнему работает, и “sshd -T | grep mac” по-прежнему показывает все MAC, а не только те, которые я указал.
sshd явно загружает файл, так как он не запускается, когда в нем есть синтаксическая ошибка. Так почему он игнорирует часть с MAC?
Ответ или решение
Причины игнорирования настроек MAC в конфигурации SSHD
Если ваш OpenSSH-сервер игнорирует настройки MAC (Message Authentication Code) в файле конфигурации /etc/ssh/sshd_config
, это может быть связано с несколькими факторами. Ваша конфигурация указывает, что вы хотите ограничить использование только определенных MAC, но несмотря на это, все MAC всё ещё доступны после перезагрузки сервера. Рассмотрим основные причины этой проблемы.
1. Проверка версии SSH и поддержки MAC
Некоторые версии OpenSSH могут не поддерживать ограничение MAC через конфигурационный файл. Чтобы убедиться, что у вас установлена актуальная версия, выполните команду:
ssh -V
Проверьте документацию для вашей версии OpenSSH, чтобы узнать, как обрабатываются параметры MAC.
2. Конфигурация SSH-клиента
Обратите внимание, что настройки SSH-клиента (например, /etc/ssh/ssh_config
или ~/.ssh/config
на клиентской стороне) могут переопределять значение MAC. Убедитесь, что в этих файлах нет конфликтующих настроек.
3. Правильный синтаксис
Вы указали конфигурацию правильно, однако стоит проверить, нет ли синтаксических ошибок, которые могут мешать правильной интерпретации настроек. Убедитесь, что строка с MACs
находится в нужном месте и нет лишних пробелов или символов.
4. Перезагрузка сервиса
После внесения изменений в sshd_config
необходимо перезапустить службу SSH, чтобы настройки вступили в силу:
sudo systemctl restart sshd
Проверьте статус службы:
sudo systemctl status sshd
5. Проверка текущих настроек
Использование команды sshd -T | grep mac
показывает текущие активные настройки SSHD. Если команда выводит список всех доступных MAC, это может указывать на то, что ваши настройки не применяются. Убедитесь, что вы чётко задаете порядок и форматирование в sshd_config
. Например, настройка должна выглядеть следующим образом:
MACs hmac-sha2-256,hmac-sha2-512
6. Логи
Посмотрите логи SSH для выявления возможных ошибок. Важные сообщения могут быть записаны в /var/log/auth.log
или /var/log/secure
в зависимости от вашей системы. Используйте команду:
sudo tail -f /var/log/auth.log
для реального времени просмотра логов.
7. Альтернативные файлы конфигурации
Некоторые системы могут использовать дополнительные файлы конфигурации, такие как /etc/ssh/sshd_config.d/*.conf
. Убедитесь, что в этих файлах нет параметров, которые могут переопределять ваши настройки.
Итог
Если после всех приведенных шагов проблема не устраняется, то вероятно, есть системные или программные ограничения, которые мешают вашему конфигурированию. Возможно, стоит рассмотреть возможность обновления OpenSSH до последней версии или обратиться к документации и сообществу для поиска возможных решений. Заключение может заключаться в том, что настройки MAC не учитываются из-за конфликтующей конфигурации на уровне клиента или из-за текущей версии сервера.