sed: -e выражение #1, символ 10: отсутствует команда

Вы можете ограничить количество хостов, которые могут подключаться, настроив оболочки TCP или фильтруя сетевой трафик (брандмауэр )с помощью iptables . Если вы хотите использовать разные методы аутентификации в зависимости от IP-адреса клиента, настройте демон SSH вместо (вариант 3 ).

Вариант 1 :Фильтрация с помощью IPTABLES

Правила Iptables оцениваются по порядку, до первого совпадения.

Например, чтобы разрешить трафик из сети 192.168.0.0/24 и в противном случае перенаправить трафик (на порт 22 ). Правило DROPне требуется, если ваша политика iptables по умолчанию настроена на DROP.

iptables -A INPUT -p tcp --dport 22 --source 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

Вы можете добавить дополнительные правила перед правилом отбрасывания, чтобы соответствовать большему количеству сетей/хостов. Если у вас много сетей или адресов узлов, вам следует использовать модульipset . Существует также модульiprange , который позволяет использовать любой произвольный диапазон IP-адресов.

Iptables не сохраняются после перезагрузки. Вам нужно настроить какой-то механизм для восстановления iptables при загрузке.

iptablesприменяются только к трафику IPv4.В системах, в которых ssh прослушивает IPv6-адреса, необходимую настройку можно выполнить с помощью ip6tables.

Вариант 2 :Использование оболочек TCP

Обратите внимание, :это может быть недоступно в современных дистрибутивах, так как поддержка tcpwrappers была удалена из OpenSSH 6.7

Вы также можете указать, какие хосты могут подключаться с помощью оболочек TCP. В TCP-оболочках помимо IP-адресов вы также можете использовать имена хостов в правилах.

По умолчанию запрещаются все хосты.

/etc/hosts.deny:

sshd : ALL

Затем перечислите разрешенные хосты в hosts.allow. Например, чтобы разрешить сеть 192.168.0.0/24 и localhost .

/etc/hosts.allow:

sshd : 192.168.0.0/24
sshd : 127.0.0.1
sshd : [::1]

Вариант 3 :Конфигурация демона SSH

Вы можете настроить демон ssh в конфигурации sshd _для использования другого метода аутентификации в зависимости от адреса/имени хоста клиента. Если вы хотите только заблокировать подключение других хостов, вам следует использовать iptables или TCP-оболочки.

Сначала удалите методы аутентификации по умолчанию:

PasswordAuthentication no
PubkeyAuthentication no

Затем добавьте нужные методы аутентификации после Match Addressв конце файла. Размещение Matchв конце файла важно, так как все строки конфигурации после него помещаются внутри условного блока до следующей строки Match. Например:

Match Address 127.0.0.*
    PubkeyAuthentication yes

Другие клиенты по-прежнему могут подключаться, но вход невозможен из-за отсутствия доступных методов аутентификации.

Аргументы сопоставления и разрешенные условные параметры конфигурации описаны в sshd _справочной странице конфигурации . Шаблоны совпадений задокументированы на ssh _справочной странице конфигурации .

1
11.01.2020, 13:42
1 ответ

Если вы хотите использовать суффикс резервной копии с GNU sed, суффикс должен следовать сразу за опцией -i, как в

sed -i"$( date +.%s )" -E '...as in question...' /etc/salt/minion

Я также добавил точку к суффиксу резервной копии, чтобы вы получали такие суффиксы, как .1578741576.

Связанные:

3
27.01.2020, 23:22

Теги

Похожие вопросы