Eu tenho a seguinte entrada no meu .ssh/config
arquivo
Host AAA
User BBB
HostName CCC
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
O exposto acima permite-me multiplexar várias sessões ssh através da mesma conexão ssh sem precisar digitar a senha toda vez que precisar de uma nova sessão (desde que a conexão principal permaneça aberta).
No entanto, notei que, quando tenho um número relativamente alto de conexões multiplexadas (~ 7), não consigo adicionar mais sessões à mesma conexão multiplexada e começo a receber o seguinte erro:
> ssh -X AAA
mux_client_request_session: session request failed: Session open refused by peer
Password:
Minhas perguntas:
Por que estou recebendo esse erro? Existe um limite no número de sessões ssh que posso multiplexar na mesma conexão? Posso mudar esse limite? Seria uma má ideia?
Respostas:
O
sshd
daemon no servidor está limitando o número de sessões por conexão de rede. Isso é controlado pelaMaxSessions
opção in/etc/ssh/sshd_config
. Além disso,MaxStartups
pode ser necessário aumentar a opção se você usar um grande número de sessões. (Vejaman sshd_config
para mais detalhes.) A opção para modificar oMaxSessions
limite foi introduzida no OpenSSH 5.1 e parece que o número foi corrigido anteriormente em 10. Se você excederMaxSessions
o servidor, verásshd[####]: error: no more sessions
no log do servidor.fonte
Encontrei esse problema em um servidor com uma versão anterior do OpenSSH. Eu controlo o servidor e resolvi o problema criando dois CNAMEs na minha configuração nomeada:
Então, na minha configuração local do cliente ssh:
A instrução ControlPath é para que os nomes dos soquetes de controle não se interajam.
É isso, mas para facilitar o gerenciamento, escrevi um script de wrapper para 'ssh' no lado do cliente. Ele entende que existem 'grupos' de hosts (neste caso, realhost, realhost1, realhost2 compõem um grupo). Ao emitir 'sshwrapper realhost', se não houver canais abertos, todos os três serão abertos e uma sessão será iniciada. Na próxima vez em que for executado, conta as conexões abertas por canal e abre a nova sessão no canal com o menor número de conexões.
Com um real e dois hosts 'falsos', eu posso conectar 30 vezes antes de receber um erro. O login é extremamente rápido, exceto que o tempo inicial leva um ou dois segundos, pois todos os três canais de controle são abertos naquele momento.
fonte