특정 시간 이후 대화형 SSH 세션을 종료하는 방법

특정 시간 이후 대화형 SSH 세션을 종료하는 방법

/etc/ssh/sshd_config파일에서 다음 매개변수를 설정했습니다.

ClientAliveInterval 10
ClientAliveCountMax 3

이제 호스트 컴퓨터에서 ssh내 서버(my ) 파일을 /etc/ssh/sshd_config변경했습니다 . 그 후 다음 ssh을 실행하여 서비스를 다시 시작했습니다.

/etc/init.d/sshd reload

30초 후에 연결이 끊어질 것으로 예상했는데 ssh지금은 거의 한 시간 정도 계속되고 있습니다.

누군가 여기서 무슨 일이 일어나고 있는지 알려줄 수 있습니까?

OpenSSH 버전 6.1을 사용하고 있습니다.

답변1

SSH 설정을 사용하여 원하는 것을 얻을 수 없다고 생각합니다. ClientAlive*SSH 클라이언트와 SSH 서버 간의 연결이 응답하지 않을 때 양측이 기다려야 하는 시간에 대한 설정입니다(명백히 클라이언트 시간 초과임).

대신 Bash의 $TMOUT환경 변수를 사용하여 일정 시간이 지나면 연결을 끊도록 셸에 지시합니다.

TMOUT  If  set  to  a  value greater than zero, TMOUT is treated as the 
       default timeout for the read builtin.  The select command terminates 
       if input does not arrive after TMOUT seconds when input is  coming  
       from  a  terminal.   In  an interactive  shell,  the value is 
       interpreted as the number of seconds to wait for input after issuing 
       the primary prompt.  Bash terminates after waiting for that number of 
       seconds if input does not arrive.

인용하다

관련 정보