![sshd에서 사용하지 않는 세션에 대한 시간 초과를 정의하는 방법은 무엇입니까? [복사]](https://linux55.com/image/129416/sshd%EC%97%90%EC%84%9C%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%84%B8%EC%85%98%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%8B%9C%EA%B0%84%20%EC%B4%88%EA%B3%BC%EB%A5%BC%20%EC%A0%95%EC%9D%98%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
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