저는 새로운 CentOS 7 가상 머신에서 원격으로 작업하고 있습니다. 내 화면에는 여러 개의 열린 세션이 실행되고 있습니다. 세션 중 하나를 잠시 유휴 상태로 두었다가 다시 돌아오려고 하면 사라지는 것을 발견했습니다. 세션에서는 특별한 일이 발생하지 않습니다. 다른 시스템, mysqlclient, top 등에 대한 ssh 연결은 모두 동일하게 유지됩니다. 하지만 bash 쉘 프롬프트에서 세션을 종료하면 세션이 사라집니다. 하나만 살펴보았는데 약 10-11분 정도 걸렸습니다.
이런 일은 이전에 나에게 일어난 적이 없습니다. 무슨 일이 일어났는지 아세요?
새로운 정보. 화면이 아닙니다. 시스템에 대한 새 SSH 세션을 열고 유휴 상태로 두었습니다. 나에게도 닫혀 있습니다. 그런데 이번에는 다음과 같은 메시지를 받았습니다.
timed out waiting for input: auto-logout
Google로 이동하세요. 어쩌면 어리석은 쉘 설정일까요?
답변1
bash
특정 유휴 시간이 지나면 종료되도록 셸을 구성할 수 있습니다. 값은 변수에 의해 정의됩니다 TMOUT
.
예를 들어 TMOUT=300
5분(300초) 동안 활동이 없으면 셸이 종료됩니다.
답변2
제 경우에는 /etc/profile.d/tmout.sh
파일에 구성되어 있고 읽기 전용으로 설정되어 있어서 나중에 수정할 수 없었습니다. bash가 초기화될 때마다 작동하도록 /etc/bash.bashrc 파일에 다음 줄을 추가했습니다.
sed -i 's/TMOUT=900/TMOUT=0/g' /etc/profile.d/tmout.sh