원거리 SSH 연결을 사용하는 동안 입력이 더 이상 시스템에서 응답을 이끌어내지 못하는 예기치 않은 중단이 발생할 수 있습니다. 이러한 상황에서는 터미널이 키보드 입력에 응답하지 않는 것처럼 보입니다. 이러한 상황에서 어떻게 진행해야 하나요?

네트워크 중단 또는 시스템 충돌과 같은 다양한 요인으로 인해 SSH 세션이 정체될 수 있습니다. 응답이 없는 SSH 세션에서 연결을 끊으려면 터미널 창에 “종료”를 입력하여 정상적으로 종료할 수 있습니다. 또는 Ctrl+C 키보드 단축키를 사용하여 연결을 강제로 종료할 수도 있습니다. 하지만 이 방법을 사용하면 저장되지 않은 데이터가 손실될 수 있습니다. 장시간 세션이 필요한 경우, 동적 터널링 기능과 끊어진 연결을 자동으로 재설정하는 기능을 갖춘 Mosh(모바일 셸)와 같은 대체 옵션을 사용하면 안정성과 효율성을 높일 수 있습니다.

SSH 세션이 정지되는 원인은 무엇인가요?

SSH 세션이 응답하지 않는 주요 원인 중 하나는 Wi-Fi 신호의 변동으로 인한 네트워크 연결 중단 또는 노트북 덮개를 절전 모드로 전환하는 등의 부주의한 행동으로 인한 것입니다. 이 문제는 일반적으로 랩톱과 같은 휴대용 장치에서 사용자가 활성 SSH 세션을 유지하는 동안 실수로 장치를 유휴 상태로 둘 수 있는 경우에 발생합니다.

보안 셸(SSH)은 노트북 사용이 지금처럼 보편화되지 않았던 시절에 처음 고안된 네트워크 프로토콜입니다. SSH는 무선 연결이 아닌 유선 네트워크 환경에서 더 효율적으로 작동합니다.

이스케이프 시퀀스로 종료

보안 셸(SSH) 세션이 정지된 경우, 이스케이프 시퀀스를 사용해야 할 수 있습니다. 이스케이프 시퀀스를 사용하면 멀리 떨어진 시스템이 아닌 SSH 클라이언트로 신호를 전송할 수 있습니다. 일반적으로 이스케이프 시퀀스 앞에는 이스케이프 문자가 오는데, 이 문자는 OpenSSH 클라이언트에서 일반적으로 물결표 기호(~)로 표시됩니다.

보안 셸(SSH) 클라이언트를 종료하려면 물결표 기호 뒤에 마침표(마침표)를 사용할 수 있습니다.

또는 두 가지 방법 중 하나를 사용하여 이스케이프 문자를 수정할 수 있습니다. 첫 번째 방법은 명령줄에서 SSH 세션을 시작할 때 “-e” 플래그를 통해 사용자 지정 이스케이프 문자를 지정하는 것입니다. 또는 개인 컴퓨터의 사용자 계정 폴더에 있는 ‘.ssh/config’ 파일 내에 있는 “EscapeChar” 필드에 원하는 이스케이프 문자를 입력하여 이 기본 설정을 영구적으로 적용할 수도 있습니다.

이 글도 확인해 보세요:  Windows 게임을 녹화하지 않는 NVIDIA ShadowPlay 문제를 해결하는 방법

kill 명령 사용

이스케이프 문자 시퀀스를 실행해도 SSH 클라이언트 문제가 해결되지 않는 경우, 파이핑 기술을 사용하여 활성 세션의 프로세스 ID(PID)를 식별하여 종료하려고 시도할 수 있습니다.

 ps aux | grep ssh 

“ps” 명령과 함께 “aux” 매개 변수를 사용하면 연결된 사용자 또는 터미널 세션에 의해 제어되는지 여부와 관계없이 시스템 내에서 실행 중인 모든 프로세스를 포함하는 출력을 생성합니다.

여러 SSH 인스턴스를 사용하는 경우 로그 목록에 원격 장치의 사용자 이름과 IP 주소에 관한 정보가 있기 때문에 휴면 세션을 식별할 수 있습니다. 해당 세션과 연결된 프로세스 ID를 발견하면 “kill” 명령을 사용하여 세션을 종료할 수 있습니다.

 kill [PID] 

더 나은 SSH 연결을 위해 Mosh를 사용하세요!

성가신 SSH 세션 정지를 피하는 더 좋은 방법은 Mosh 을 사용하는 것입니다. 연결이 끊어져도 Mosh를 사용하면 연결 상태를 유지할 수 있습니다. 다시 연결하면 메시지를 전송합니다. 컴퓨터를 절전 모드로 전환할 때도 작동합니다.

GNU Screen 또는 tmux와 같은 터미널 멀티플렉서를 사용하면 연결이 중단된 경우 SSH 세션을 다시 설정할 수 있으며, Mosh와 tmux를 함께 사용하면 기능이 강화됩니다.

데비안 및 우분투 시스템에서 Mosh를 효과적으로 구현하려면 다음 단계를 따르세요:

 sudo apt install mosh 

가볍고 사용자 정의가 가능한 GNU/Linux 배포판인 Arch Linux를 실행하면 사용자에게 효율적이고 간소화된 컴퓨팅 환경을 제공할 수 있습니다. 시스템 관리에 대한 미니멀리즘 접근 방식과 단순성을 강조하는 Arch Linux는 불필요한 블로트웨어와 기능을 피하면서 운영 체제를 완벽하게 제어하려는 사용자에게 이상적입니다. 또한 롤링 릴리스 배포판인 Arch Linux는 사용자가 수동으로 설치할 필요 없이 항상 최신 소프트웨어 업데이트 및 보안 패치에 액세스할 수 있도록 보장합니다.

 sudo pacman -S mosh 

Red Hat 배포판 제품군은 공통 조상과 핵심 구성 요소를 공유하는 다양한 운영 체제를 포함하며, 특정 사용 사례와 대상 환경에 맞는 고유한 특성을 나타냅니다. 이러한 배포판은 안정성, 신뢰성 및 견고성으로 잘 알려져 있으며, 기업 사용자와 IT 전문가 모두에게 널리 인정받고 있습니다. 또한 패키지 관리, 구성 관리, 보안 관리와 같은 시스템 관리 작업을 용이하게 하도록 설계된 포괄적인 도구 및 유틸리티 세트를 제공합니다.레드햇 배포판 제품군은 유연성과 확장성으로 유명하며, 소규모 배포부터 대규모 데이터 센터 및 클라우드 인프라에 이르기까지 다양한 구성에 배포할 수 있습니다. 전반적으로 Red Hat 배포 제품군은 우수성과 혁신의 대명사가 되었습니다

 sudo dnf install mosh 

이제 멈춘 SSH 세션에서 벗어날 수 있습니다

SSH 세션에서 응답이 없는 경험은 사용자에게 짜증을 유발하는 원인이 될 수 있습니다. 하지만 이 문제를 극복할 수 있는 몇 가지 해결 방법이 있습니다. 이 문제를 해결하는 한 가지 방법은 이스케이프 시퀀스를 사용하거나 “kill” 명령을 사용하는 것입니다. 또한 연결이 끊어지거나 시스템이 절전 모드로 전환되는 동안 사용자 세션의 활성 상태를 유지하여 향상된 솔루션을 제공하는 Mosh라는 대체 옵션도 있습니다.

By 이지원

상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.