물리적 네트워크 연결 끊김에도 살아남는 SSH와 유사한 세션

물리적 네트워크 연결 끊김에도 살아남는 SSH와 유사한 세션

컴퓨터가 절전 모드로 전환되었다가 깨어난 후에도 SSH 로그인 세션이 연결된 상태를 유지하고 싶습니다. 제가 이해한 바에 따르면 TCP는 간헐적인 네트워크 문제에서도 살아남을 수 있습니다. 그렇다면 몇 시간 또는 며칠 동안 살아남을 수 있도록 설정을 변경할 수 있습니까? 그렇지 않다면 이를 수행할 수 있는 SSH와 유사한 것이 있습니까?

네트워크를 다시 사용할 수 있게 되면 자동으로 다시 연결되도록 SSH를 설정할 수 있다는 것을 이해합니다. 그러나 이것은 이상적이지 않습니다. 왜냐하면 랩톱이 절전 모드로 전환되기 전과 정확히 동일한 위치에 로그인 세션이 있기를 원하기 때문입니다(쉘 명령줄에 무언가를 입력하는 도중에도 마찬가지임).

나는 다른 것이 있다는 것을 이해합니다해결 방법, 하지만 처음부터 쉘 세션 손실을 방지할 수 있는 방법이 있기를 바랐습니다.

답변1

TCP 연결은 연결이 끊어져도 살아남을 수 있어야 하지만 일부 지나치게 열성적인 방화벽은 유휴 연결을 끊을 수 있으며, 그런 일이 발생할 경우 IP 주소 변경이 지속되지 않습니다.

대화형 세션의 경우 다음을 실행합니다.모쉬. UDP를 통해 SSH와 유사한 터미널 연결을 구현하고 필요한 경우 다른 IP 주소에서 다시 연결을 지원하며 불안정한 연결을 지원하는 몇 가지 기능을 갖추고 있습니다.

SSH를 사용하기로 결정했는지 Mosh를 사용하기로 결정했는지에 관계없이 다음을 사용하세요.화면또는티먹스세션을 연결과 독립적으로 만드는 것도 마찬가지입니다.

답변2

screen아니면 tmux확실히 갈 길입니다. 그러면 연결 ssh은 목적을 위한 수단일 뿐이며 유휴 상태일 때 얼마나 자주 연결이 끊어지는지는 더 이상 중요하지 않습니다.

원격 서버에 로그인할 때 시작하는 것을 기억해야 하는 것이 귀찮다면 대화형 세션이 자동으로 기존 세션에 참여하도록 하거나 이미 실행 중인 세션이 없는 경우 새 세션을 시작하는 것이 screen그리 어렵지 않습니다 .screen

답변3

바위(Reliable soCKetS)는 클라이언트 TCP 연결을 만드는 프로그램을 위한 래퍼로, TCP 연결이 실패할 때를 감지하고 클라이언트가 다른 네트워크로 이동하더라도 자동으로 다시 연결합니다. 논문에 설명되어 있었는데안정적인 네트워크 연결그리고는다운로드 가능. 유지 관리되지는 않지만 상당히 안정적인 인터페이스를 사용하므로 오늘날에도 여전히 작동합니다. 표준 라이브러리 기능을 섀도우하기 위해 라이브러리 사전 로드( LD_PRELOAD)를 사용하므로 동적으로 링크된 실행 파일에서만 작동합니다. 그냥 다음과 같이 실행하면 됩니다.

rocks ssh …

Rocks는 서버 이동성이 아닌 클라이언트 이동성을 처리합니다. 서버가 이동하면 이를 보완할 수 있습니다.양말대리.

대화형 세션의 경우 좋은 대안은 다음과 같습니다.모쉬. 불안정한 연결을 위해 설계되었으며 클라이언트 이동성을 지원합니다. 연결이 불안정하면 Mosh는 데이터를 잃게 되므로 대화형 세션에만 사용할 수 있습니다.

대부분 안정적이지만 가끔 이동하는 연결이 있는 경우 Mosh의 대안은 다음과 같습니다.autossh자동으로 다시 연결하고화면또는티먹스서버에서 실행 중입니다. 클라이언트 연결이 끊어지더라도 screen/tmux 세션은 서버에 남아 있으며, 연결이 끊어지면 autossh가 자동으로 다시 연결됩니다.

관련 정보