전체 터미널을 종료하지 않고 응답하지 않는 SSH 세션의 연결을 끊는 방법이 있습니까? 구체적으로 말하면, 저는 konsole을 사용하고 있는데 제가 작업하고 있는 컴퓨터가 가끔 멈추기는 하지만 실제로 죽지는 않습니다(따라서 연결이 종료됩니다). 그래서 SSH가 중단되고 SSH를 통해 다시 연결하거나 다른 작업을 수행하려면 먼저 터미널을 닫고 새 터미널을 열어야 합니다. Ctrl+C를 눌러 SSH 세션을 효과적으로 종료하는 방법이 있습니까?
답변1
한 가지 방법은 SSH 이스케이프 문자를 사용하는 것입니다. 기본적으로 이는 "~"이지만 -e
ssh를 호출할 때 옵션을 사용하거나 EscapeChar
ssh 구성의 옵션을 통해 수동으로 설정할 수 있습니다. 중단된 세션을 종료하려면 일반적으로 다음 방법을 사용할 수 있습니다.
~.
Gilles가 지적했듯이 이는 히트 직후에만 인식될 수 있습니다 Enter.
답변2
명확히 설명하자면 이것이 초보자에게 도움이 되기를 바랍니다.
~에 따르면Enter
누르기 ~(미국 레이아웃 키보드에서는 +입니다 shift)`
~에 따르면.
커서가 로컬 프롬프트로 돌아갑니다.
답변3
모든 활성 SSH 세션을 종료하려면 다음 명령을 사용할 수 있습니다(포트 22에 대한 SSH 연결만 있다고 가정).
kill `sudo lsof -Pni :22 | tail -n1 | grep -wv sshd | awk '{print $2}'`
이 명령은 포트 22에 연결된 모든 프로세스를 찾고, 명령으로 배너 출력을 제거하고 lsof
, ssh 데몬을 무시하고 모든 PID를 가져온 다음 해당 PID를 종료합니다.