sshd에서 사용하지 않는 세션에 대한 시간 초과를 정의하는 방법은 무엇입니까? [복사]

sshd에서 사용하지 않는 세션에 대한 시간 초과를 정의하는 방법은 무엇입니까? [복사]

sshd저는 Ubuntu 16.4 LTE에서 sshd를 사용하고 있으며 사용자가 아무것도 하지 않고 너무 오랫동안 연결하면 ssh 서버에 의해 연결이 끊어지도록 시스템을 구성하려고 합니다 .

답변1

또한 /etc/ssh/sshd_config에서 다음 매개변수의 주석 처리를 제거하십시오.

ClientAliveInterval 900
ClientAliveCountMax 0

그렇지 않으면 연결이 끊길 수도 있습니다. (변경 사항은 sshd를 다시 시작한 후에 적용되며 그 이후에 열린 세션에만 적용됩니다.)

답변2

SSHD가 아닌 Shell에서 이 작업을 수행하는 것이 좋습니다.

고급 Bash 스크립팅 가이드, 섹션 9.1에서 발췌. 내부 변수:

$TMOUT

If the $TMOUT environmental variable is set to a non-zero
value time, then the shell prompt will time out after time
seconds. This will cause a logout.

사용자가 이 변수를 설정 해제하기 어렵게 만들려면 시스템 전체 로그인 스크립트에서 읽기 전용으로 설정할 수 있습니다 readonly TMOUT=900.

SSH 세션에 대한 시간 제한만 필요한 경우 조건부로 설정하세요. 예를 들어 배포판에 가 있으면 /etc/profile.d다음 위치에 넣을 수 있습니다 /etc/profile.d/ssh-timeout.sh.

if [ "$SSH_CONNECTION" != "" ]; then
    readonly TMOUT=900    # a 15-minute timeout for SSH connections only
fi 

관련 정보