Por que o ssh às vezes trabalha com -vvv do que sem?

1

-v , que tem um limite máximo de 3-4, controla a verbosidade do comando ssh .

Estou atrás de um proxy e tenho a configuração do ssh para usar um proxy, por isso pode ser o caso, mas notei que

ssh [email protected] -vvvv é mais confiável que ssh [email protected] . Me chame de louco, mas se eu não especificar a verbosidade às vezes, simplesmente não conecta. Se eu especificar a verbosidade, ela será mais informativa e conectada.

Existe alguma explicação para esse comportamento? E para mim isso é um comportamento bastante consistente. A verbosidade de alguma forma muda uma variável na maneira como o ssh se conecta e retorna dados de tal forma que ela o força a funcionar?

    
por meder omuraliev 11.08.2010 / 21:34

2 respostas

6

Porque ssh -vvv passa muito tempo imprimindo mensagens e isso dá ao outro lado mais tempo para responder aos pacotes ... Não, não vejo como isso possa fazer uma diferença real.

Eu suspeito de um viés de observação. Eu conjecturo que a segunda ssh tentativa tem uma maior probabilidade de sucesso do que a primeira (e a -vvv é apenas uma coincidência, porque você tende a usar -vvv na segunda vez mas não a primeira vez).

  • Se o primeiro ssh falhar devido a um problema de curta duração (não mais do que alguns segundos) em um roteador / firewall / proxy em algum lugar, e a probabilidade de uma conexão ssh falhar é p , então a probabilidade de que a segunda tentativa falhe supondo que você tenha feito uma segunda tentativa é p , então a probabilidade de que a segunda tentativa seja feita e falha é p².

  • Se o primeiro ssh falhar devido a uma falha de pesquisa de DNS (pesquisa do servidor pelo cliente, pesquisa de sua máquina pelo proxy, ...), a falha pode ser devido a um tempo muito curto tempo esgotado. No momento da sua segunda tentativa, os dados estão prontos em algum cache e chegam imediatamente.

  • Se o primeiro ssh falhar porque algo (o servidor, ou um firewall intermediário, talvez seu proxy) teve que carregar alguns dados do disco ou fazer algum cálculo, e outra coisa expirou enquanto os dados ainda estavam sendo carregada ou calculada, a segunda tentativa encontra os dados já em cache.

@meder, minha conjectura entre parênteses no parágrafo 2 está correta?

    
por 11.08.2010 / 22:38
1

A única diferença que um -v ou qualquer número de -v deve fazer é o nível de verbosidade retornado para você. Depuração de conexão, X Estatísticas de encaminhamento, etc.

Não é impossível pensar que vários -v's poderiam manter viva uma conexão instável, ou uma conexão com um dispositivo que está muito ansioso para matar conexões ociosas, mas a conexão inicial não deve ser diferente no que diz respeito à comunicação SSH real. -o fio está em causa.

    
por 11.08.2010 / 21:40

Tags