SSH가 '암호'프롬프트에 대한 시간 초과를 설정합니까?


6

프롬프트 -o ConnectTimeout=$seconds에서 대기하는 시간을 제한 하는 SSH 옵션 (와 유사 )이 password:있습니까?

내가주의 패스워드없이 ssh를위한 키 쌍을 사용하지만, 난 여전히 보는 바람 password:내가 WiFi 네트워크와 가까운 사이에 돌아 다니는 (가 떨어질 때마다 내 SSH 터널을 다시 연결 배경 창에서 실행 bash는 기능을 가지고 있기 때문에, 일주일에 프롬프트가 여러 번 MacBook 뚜껑을 무작위로). 그래서 가끔 SSH 협상은 들어갈 수 있습니다 "암호 :"상태는, 그것은 유지 나는 수동으로 개입 할 때까지이 ^Ckillall 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
}

답변:


3

Linux의 timeout경우 일반 RPM에서 "coreutils"와 함께 제공되는 명령 으로 해결 방법이있을 수 있습니다 .

시간 초과 인 경우 코드 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

이 질문에서 이것을 발견했습니다 : https : //.com/questions/15785832/how-to-make-ssh-command-execution-to-timeout


1
흠, 그것은 전체 SSH 세션을 시간 초과 할 것이므로 내 경우에는 성공적으로 pubkeys에 성공적으로 연결하고 로그인하더라도 10 초 시간 초과 후 터널을 종료합니다. 또한 정말 휴대용 ( timeoutMacOSX 에서는 없음) 을 선호합니다 .
DouglasDD

1
...하지만 같은 StackOverflow 답변에서 더 아래로 내려 가면 나를 괴롭히는 프롬프트를 PasswordAuthentication=no완전히 막을 수 있습니다 password:!
DouglasDD

@DouglasDD 나는 당신이 감사를 표하고 있다는 것을 이해하지만, 당신은 정말로 이것을 정답으로 받아 들여서는 안됩니다. 의견에 설명 된 제한 사항은 특정 워크 플로에 대한 해결 방법을 찾은 경우에도 쓸모가 없습니다.
Kyle Strand

1

나는 최근 비슷한 문제 (백그라운드에서 자동으로 다시 연결되어야하는 cygwin ssh 쉘을 실행했습니다. 때로는 암호 프롬프트가 나타납니다).

ssh_config 매뉴얼 페이지 에서 해결책을 찾았습니다 .

BatchMode=yes

또는 ssh 쉘의 매개 변수로 사용하십시오.

-o BatchMode=yes

매뉴얼 페이지에 따르면 암호 프롬프트 클라이언트 쪽을 비활성화합니다.

"yes"로 설정하면 암호 / 암호 쿼리가 비활성화됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.