Блокировка исходящего SSH-соединения с сервера

Есть потенциальный прирост производительности при параллельной работе mv: пока один процесс ожидает возврата чтения, если другой файл находится в кэше, он может сразу перейти к выполнению другого запроса ввода-вывода. Кроме того, планировщик ввода-вывода может упорядочить запросы секторов для всех файлов, которые вы пытаетесь переместить, чтобы головки чтения/записи на HDD (очевидно, не так много на USB-носителях) могли перемещаться как можно меньше.

Учитывая это, преимущества параллельной работы по производительности будут минимальными, если только у вас нет сильной фрагментации файловой системы (чтобы избежать перемещения головок чтения/записи по всему периметру).

Однако если вас беспокоит производительность, я бы убедился, что планировщик вашего USB-носителя работает в режиме "noop", чтобы он не тратил время на переупорядочивание запросов, когда это не имеет значения для одноразовой записи на носитель без головок чтения/записи. Если ваш штатный планировщик HDD - cfq, вы также можете попробовать использовать магию ionice для приоритета операций mv над всем остальным, что происходит в системе.

0
01.10.2018, 14:29
3 ответа

Правило Match для конфигурации sshd _работает также для конфигурации ssh _и, в частности, для глобального файла /etc/ssh/ssh_config, который можно отредактировать, чтобы он содержал:

Match host site user root
 Hostname DontDoThat

Это заменит имя хоста при использовании ssh или sftp:

$ sftp root@site
Couldn't read packet: Connection reset by peer

$ sudo sftp site
ssh: Could not resolve hostname dontdothat: Name or service not known

Конечно, файл ~/.ssh/configпользователя может переопределить эту настройку.

Возможно, вы захотите зарегистрировать информацию о человеке, выполняющем sftp, добавив в строку Match вызов скрипта (, который должен завершаться 0 ), напримерexec "/bin/mylogger somearg..."(не использовать одинарные кавычки ).

1
28.01.2020, 02:18

Вы должны использовать iptable, например:

Блокировать исходящее sshсоединение для подсети 192.168.1.0/24

 iptables -I OUTPUT -d 192.168.1.0/24  -p tcp --dport 22 -j REJECT

Затем проверьте

ssh -v 192.168.1.6
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.1.6 [192.168.1.6] port 22.
debug1: connect to address 192.168.1.6 port 22: **Connection refused**
ssh: connect to host 192.168.1.6 port 22: **Connection refused**
3
28.01.2020, 02:18

Вы всегда можете разрешить исходящее SSH-соединение с помощью пользовательского модуля iptables:

iptables -A OUTPUT -o eth0  -p tcp --destination-port 22 -m owner --uid-owner {USERNAME} -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --destination-port 22 -j DROP

Это заблокирует все исходящие соединения ssh,но разрешите {USERNAME} выполнить это.

1
28.01.2020, 02:18

Теги

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