원격 서버에서 프로그램을 실행하기 위해 SSH 연결을 설정했습니다. 프로그램은 10초마다 디버깅 정보를 터미널에 인쇄합니다. SSH 창을 오랫동안(예: 10시간) 열어두면 SSH 연결이 비활성화되나요? SSH 세션 내의 활동은 어떻게 정의됩니까? 세션을 활성 상태로 유지하려면 x초마다 명령을 입력/실행해야 합니까?
답변1
특별한 작업을 수행할 필요가 없습니다. SSH는 비활성으로 인해 연결을 종료하지 않습니다. 따라서 정해진 비활성 기간이 없습니다.이내에SSH.
그러나 사용자와 서버 사이의 네트워크 경로에 있는 장치 중 하나가 경로를 잃을 수 있으며 해당 활동의 경우 일반적으로 한쪽에서 충분하지만 항상 그런 것은 아닙니다(서버에서 "도착 확인 패킷", 승인이 있음 뒤로 서버) 클라이언트에 TCP를 사용할 때).
양측의 트래픽은 지속적인 연결을 보장하지 않습니다. DSL 모뎀이 있고 공급자가 매일 새 IP 주소를 받기로 결정한 경우 연결이 중단됩니다.
다음을 삽입하여 클라이언트가 주기적으로 일부 패킷을 보내도록 할 수 있습니다.
ServerAliveInterval 5
10초마다 서버에서 발생하는 트래픽 외에도 5초마다 클라이언트에서 서버로 이동하는 트래픽도 있습니다 /etc/ssh/ssh_config
.~/.ssh/config
연결을 재설정하는 DSL 모뎀에 대한 더 간단한 "솔루션"은 서버 측 소프트웨어를 실행하는 것입니다.tmux
또는screen
: 연결이 끊어지면 SSH를 통해 다시 서버에 연결하여 발급 tmux attach
하거나 screen -r
중단 없이 서버 프로그램을 계속해서 볼 수 있습니다.
/를 사용하는 것은 연결이 끊어지는 것에 대해 크게 걱정하지 않지만 연결이 끊어지면 서버 프로그램이 중지되는 경우에 tmux
특히 유용합니다 . screen
이를 위해 원본 프로그램의 출력을 파일로 리디렉션하고 를 사용할 수도 있지만 tail -f
, 필요한 경우 서버 프로그램과 쉽게 상호 작용할 수 없습니다. tmux
( screen
기본 형태) 사용하기 쉽지만 그래픽 터미널의 슬라이더를 사용하여 뒤로 스크롤할 수 없는 등의 부작용이 있습니다. 서버가 버퍼에서 뒤로 스크롤하도록 하려면 키보드 단축키를 사용해야 합니다. .
연결이 끊긴 장치에 대한 보다 유연한 솔루션은 다음을 사용하는 것입니다.mosh
. 이는 SSH를 사용하여 일부 비밀 정보를 교환한 다음 IP 주소 중 하나 또는 둘 다 변경되더라도 재연결을 허용합니다. 그러나 설정하고 작업을 시작하는 것이 더 어렵습니다.
tmux
귀하의 경우 연결이 끊어지면 수동 으로 사용하고 다시 연결하는 것부터 시작하겠습니다 .
답변2
또한 SCREEN 명령을 사용하는 것이 정말 도움이 됩니다. 이렇게 하면 SSH 연결에 대해 걱정하지 않고 모든 명령을 실행할 수 있습니다.