Rsync e “ssh_exchange_identification: conexão fechada pelo host remoto”

5

Eu tenho um script que rsync é um diretório local para cerca de 10 servidores remotos. Basicamente, tem uma lista de servidores e loops para cada um deles fazendo o rsync. Para agilizar o processo tenho o fork para cada um dos rsyncs, para que todos os 10 aconteçam em paralelo. O problema é que os últimos servidores retornam com um "ssh_exchange_identification: Conexão fechada pelo host remoto". Isso não acontece ao fazer os rsyncs individualmente ou em série, e colocar um meio segundo de atraso entre cada um corrige o problema (geralmente, às vezes, o último servidor da lista ainda retorna o erro).

Alguém sabe por que isso estaria acontecendo? Eu suponho que é um problema com o rysnc e não com o meu script, já que o script apenas faz uma chamada ao sistema para rysnc de qualquer maneira.

    
por Mediocre Gopher 17.07.2011 / 21:16

1 resposta

7

Eu já vi esse problema antes. Você precisa aumentar o valor MaxStartups nos servidores SSH aos quais está se conectando. Observe que o valor padrão é 10. Você pode fazer isso editando /etc/ssh/sshd_config e recarregando o daemon SSH (esperamos que você controle os servidores remotos).

De man sshd_config :

 MaxStartups
         Specifies the maximum number of concurrent unauthenticated connections to the SSH daemon.  Additional connections will be dropped until authentication succeeds or the
         LoginGraceTime expires for a connection.  The default is 10.

         Alternatively, random early drop can be enabled by specifying the three colon separated values “start:rate:full” (e.g. "10:30:60").  sshd(8) will refuse connection attempts
         with a probability of “rate/100” (30%) if there are currently “start” (10) unauthenticated connections.  The probability increases linearly and all connection attempts are
         refused if the number of unauthenticated connections reaches “full” (60).
    
por 17.07.2011 / 21:23

Tags