Я раскручиваюсь несколько удаленных экземпляров через Google Cloud и scp -ный скрипты для этих случаев , чтобы запустить их и получить результаты scp -ed назад к моему локальному компьютеру. Все начинается гладко, но через некоторое время (примерно через 30 экземпляров) новые экземпляры не могут scp файлы обратно на мой компьютер, поскольку я получаю сообщение об ошибке: ssh_exchange_identification: Connection closed by remote host . Эта ошибка исчезает только после сброса ssh на локальном компьютере с помощью следующих команд:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

Что является основной проблемой и как я могу решить ее, чтобы решить эту проблему без необходимости постоянно сбрасывать мой ssh?

1 ответ1

0

Возможно, вы используете ограничение sshd MaxStartups :

MaxStartups
Задает максимальное количество одновременных неаутентифицированных подключений к демону SSH. Дополнительные соединения будут сброшены до тех пор, пока аутентификация не пройдет успешно или не истечет срок действия LoginGraceTime. По умолчанию это 10:30:100.
В качестве альтернативы можно включить случайное раннее удаление, указав три значения, разделенных двоеточиями:start:rate:full (например, «10:30:60»). sshd (8) откажется от попыток подключения с вероятностью 100/30 (30%), если в настоящее время запущены (10) неаутентифицированные подключения. Вероятность возрастает линейно, и все попытки соединения отклоняются, если количество неаутентифицированных соединений достигает полного (60).

Вы можете попробовать изменить настройку. В MacOS файл конфигурации находится в /private/etc/ssh/sshd_config .

С другой стороны, вы можете организовать размещение соединений ssh на сервере, чтобы они не все входили одновременно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .