SSH definindo um tempo limite para o prompt 'senha'?

6

Existe uma opção SSH (semelhante a -o ConnectTimeout=$seconds ) que limita o tempo que ela gasta esperando em um prompt password: ?

Note que eu faço uso de keypairs para ssh sem senha, mas eu ainda vejo um prompt password: várias vezes por semana, porque tenho funções bash em execução em uma janela de plano de fundo que reconecta meus túneis SSH sempre que eles caem (enquanto eu passo entre as redes WiFi e fecho a tampa do MacBook aleatoriamente). Então, às vezes, a negociação do SSH pode entrar no estado "password:", então permanece lá até eu intervir manualmente com ^C ou killall ssh ...

dtunnel-home () {
  while true ; do
    title "XXX-TTT-..."
    wait-for-host.sh "$g"   ## sleep until ping-able.
    time (
        set -x
         ssh -o ConnectTimeout=10        \
             -Y -L 5920:$t:5900  -L ...  \
             $g_user@$g
    ) ; date "+%Y-%m-%d_%H-%M-%S"
  done
}
    
por DouglasDD 29.03.2014 / 22:06

1 resposta

2

Para o Linux, você pode ter a opção de contornar o comando timeout , fornecido com "coreutils" de qualquer RPM regular.

Se for tempo limite, retorne o código 124

cinacio@jdivm04:~> time timeout 10s ssh cinacio@vulca_5 ; echo $?
cinacio@vulca_5's password:

real    0m10.002s
user    0m0.006s
sys     0m0.002s

124

Descobri isso com essa pergunta: link

    
por 30.03.2014 / 03:09

Tags