Назад | Перейти на главную страницу

sshd - укажите разные шифры в зависимости от входящего хоста

В соответствии с человек sshd_config, Я могу указать список поддерживаемых шифров, например:

Ciphers arcfour, 3des-cbc

Проблема в том, что клиентское приложение, работающее на одном хосте, не поддерживает тот же шифр, что и остальная часть сети.

Следовательно, есть ли способ указать шифр для использования во всех случаях, но с одним исключением хоста?

Шифры, перечисленные в Ciphers Директива должна идти по первому совпадению, поэтому поместите шифр мошеннического клиента последним в списке. Другие клиенты в вашей сети будут сначала согласовывать шифры, расположенные выше в списке, если это возможно, и ваш мошеннический клиент должен пройти через более слабый шифр.

К сожалению, это по-прежнему позволит другим клиентам использовать более слабые шифры, если они установлены явно. Вы не можете поставить Ciphers директива внутри Match блок, к сожалению. Другой вариант, о котором я могу думать, - это запустить другой сервер на другом порту для нечетного клиента и ограничить доступ ко второму экземпляру sshd для этого хоста.

Из того, что я вижу, единственный вариант - создать сценарий с помощью ForceCommand.

Использование Match не должно быть слишком сложным:

ForceCommand

Forces the execution of the command specified by ForceCommand, ignoring any command supplied by the client and ~/.ssh/rc if present. The command is invoked by using the user's login shell with the -c option. This applies to shell, command, or subsystem execution. It is most useful inside a Match block.

Вышеизложенное взято из страниц руководства. Я нашел больше здесь: Скрипт сервера-привратника SSHD

--редактировать--

Лучшее, что я могу собрать, - это запустить отдельный экземпляр SSHD на другом порту и затем добавить -s в один из примеров перенаправления, чтобы поймать только IP-адрес приложения и перенаправить его на другой экземпляр, настроенный с правильным шифром: http://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/