Включить массивный одновременный SSH на один сервер

Моя цель – разрешить 10000 одновременных ssh s на одном сервере.

Для простоты я использую localhost:

for i in `seq 1 10000`; do ssh localhost "echo ${i}; sleep 100" >>./info 2>>./log & done 

sleep 100 заключается в том, чтобы убедиться, что при запуске 10000-го ssh 1-й ssh ​​все еще находится в соединении, поэтому действительно 10000 одновременных ssh s.

И вот два типа сообщений об ошибках, которые я получил:

 1. ssh_exchange_identification: Connection closed by remote host 2. ssh_exchange_identification: read: Connection reset by peer 

Я сделал следующие изменения:

  1. В /etc/security/limits.conf и /etc/security/limits.d/90-nproc.conf установите soft & hard nofile & nproc в значение 65535 (это максимальное возможное значение справа? – Обновление: нет. Максимальное значение 1048576 )
  2. В /etc/sysctl.conf задайте значение kernel.pty.max = 65535
  3. В /etc/ssh/sshd_config установите MaxStartups 10000 .

Эти изменения позволяют мне успешно запускать 1000 одновременных ssh s на один сервер, но они не работают в 2000 и выше ssh s.

Некоторые люди предложили изменить значение MaxSessions (на самом деле я не совсем понимаю его использование: как мультиплексирование влияет на мой случай?), /proc/sys/net/core/netdev_max_backlog и /proc/sys/net/core/somaxconn , но они, похоже, не имеют значения.

Кроме того, нет ошибок, если они представляют собой 10000 одновременных ssh s для разных серверов (проблемы возникают только при ssh на один сервер):

 for i in `seq 1 10000`; do j=$(( 1 + $i % 8 )) ssh server-${j} "echo hi; sleep 100" >info-${j} 2>log-${j} & done 

Я застрял на этом довольно долго.
Любая помощь будет глубоко оценена!

One Solution collect form web for “Включить массивный одновременный SSH на один сервер”

/ мне хотелось бы прокомментировать

sshd необходимо (как правило, но если вы не указали конкретные варианты использования и т. д.), укажите pty для входа, однако в вашем случае ssh «echo hi; sleep 100s» не выделяет pty, поэтому нет необходимости в настройке kernel.pty.max … если вы не хотите, чтобы тысячи пользователей вошли в систему * … чтобы проверить это, вам нужно добавить параметр -t к вашим тестам, т.е. ssh -t "echo hi; sleep 100s"

Вернемся к проблеме с error: reexec socketpair: Too many open files Тесты на дискретном уровне, обновленном до системы Jessie, я обнаружил, что / etc / security / limit * не изменяет лимиты sshd.

проверьте, что с cat /proc/<pid-of-sshd>/limits которые в моем случае после установки в /etc/security/limits.conf: * nofile soft 65535 * nofile hard 65535 все еще сообщает только 1024 (soft) и 4096 (жесткий) для пределов sshd. Резолюция, похоже, вынуждает ulimit -Hn 65535 & ulimit -n 65535 внутри скрипта /etc/init.d/ssh с использованием этих команд ulimit, я поднял nofiles sshd до 65535/65535 с 1024/4096

  • Используется ли RLIMIT_NICE?
  • Как установить ограничения ресурсов для служб, запущенных системойd при загрузке
  • MSYS2: ulimit: максимальные пользовательские процессы: невозможно изменить предел: недопустимые аргументы
  • «Ошибка вилки» при использовании моей среды разработки
  • Настройка ulimit правильно для PHP на Linux
  • Как изменить ulimit для открытых файлов на SUSE Linux Enterprise Server 10.4 на постоянной основе?
  • Как установить ограничение nofile на rsyslog с выскочкой?
  • Как обойти «Слишком много открытых файлов» в debian
  • Можете ли вы представить себе способ остановить генерацию основного файла, когда это происходит?
  • Отсутствует дамп ядра
  • ограничения, установленные в немодифицированной среде
  • Interesting Posts

    rm: Ресурсы каталога не пустые

    CapsLock разбивает клавиши Eterm

    Пользовательский процесс ISO Kickstart – пакеты для сопоставления RPM

    Как уменьшить использование памяти ClamAV?

    modprobe: модуль ext4 не найден. ПРЕДУПРЕЖДЕНИЕ: не найдены зависимости для модуля ядра 'ext4'

    Как определить, работает ли в браузере плеер HTML5?

    Как я могу напечатать строки в файле, который содержит два регулярных выражения, где одна является подстрокой другого

    Избранное Gnome Shell: как работает программное обеспечение

    Где находится страница с ошибкой прокси-сервера squid?

    Какие файлы влияют на очистку apt-get?

    syslog error, неизвестное имя приоритета ""

    Не удается получить доступ к каталогу / etc / ppp / peers?

    Как вы интегрируете медиаплеер с панелью задач Xfce, т. Е. Для управления воспроизведением / остановкой?

    Невыполнение первого условия после задания вопроса

    Почему ddrescue медленный, когда он может быть быстрее в областях без ошибок?

    Linux и Unix - лучшая ОС в мире.