Intereting Posts
Апплет панели макета клавиатуры в MATE 1.6 Tar-файл с сохраненными разрешениями отображает имя пользователя, которого нет в текущей системе Удаление vaio grub после установки по умолчанию Windows Что еще помимо / etc / localtime и $ TZ влияет на «дату»? Каковы правильные настройки для Ubuntu Touch под qemu? Альтернативные настройки заставки для разных экземпляров X Как искать всю историю bash без необходимости идти вперед и назад? Производительность cpufreq-set -g не работает в arch linux Как изменить все строки, состоящие из одного символа «0», на другое? Как подключить remove / dev / mem к локальному Не удается открыть google chrome stable на элементарной os freya вставить символ в начале указанной строки в файле Как перемасштабировать несколько изображений одного размера Обратный grep, чтобы получить последние пару вхождений в файл Руководство по маршрутизации Linux / книга / лекция / учебник / видео для пользователя Cisco

Отключить аутентификацию SSH-пароля на определенном интерфейсе

У меня есть маршрутизатор OpenWrt, я хочу отключить аутентификацию пароля на SSH, чтобы можно было только аутентифицировать ключи. Этого легко достичь, следуя руководству в документации, однако, я хочу только отключить аутентификацию пароля на интерфейсе WAN, возможно ли это?

Этот ответ относится к OpenSSH. OpenWRT включает Dropbear по умолчанию, поэтому вам нужно будет его заменить, согласно этой ссылке (в основном, установить openssh-server и отключить dropbear ).

С помощью OpenSSH вы можете использовать два возможных механизма:

  1. Отдельные конфигурации sshd для ваших интерфейсов LAN и WAN. Это будет работать только в том случае, если у вас есть статический WAN IP (невозможно сказать sshd для прослушивания определенного интерфейса, только определенного IP-адреса).
  2. Разрешить аутентификацию только для клиентов в локальной сети.

Опция 1:

В файле конфигурации LAN (например, файл /etc/ssh/sshd_config , /etc/ssh/sshd_config по умолчанию) у вас есть что-то вроде:

 PasswordAuthentication yes Listen 192.168.1.1:22 

В файле конфигурации WAN (например, /etc/ssh/sshd_config_wan :

 PasswordAuthentication no Listen 10.1.1.1:22 

В приведенном выше примере 192.168.1.1 является вашим IP-интерфейсом LAN, 10.1.1.1 вашим IP-адресом WAN и в обоих случаях 22 портом для прослушивания. Вы можете указать загружаемый файл конфигурации, используя параметр -f для sshd . Вам нужно будет скопировать сценарий инициализации по умолчанию в новый и изменить его для вызова sshd с -f /etc/ssh/sshd_config_wan .

Вариант 2:

В /etc/ssh/sshd_config поместите это в конец файла:

 PasswordAuthentication no Match address 192.168.1.0/24 PasswordAuthentication yes 

Здесь вы отключите аутентификацию паролей, за исключением адресов в вашей локальной сети (предполагается здесь 192.168.1.0/24).

Вы можете запускать два экземпляра SSH-сервера с разными конфигурациями, каждый из которых прослушивает другой интерфейс.