SSH를 종료하지 않고 SSH 세션에서 명령 중지

SSH를 종료하지 않고 SSH 세션에서 명령 중지

SSH 세션이 있고 스크립트를 실행 중입니다. SSH 세션을 종료하지 않고 스크립트를 종료하고 싶습니다. 로컬 PC에서 스크립트를 실행하고 Ctrl+ 키를 누르면 스크립트가 중지되는 반면, C 원격 세션에서 Ctrl+ 키를 누르면 Cssh 세션 자체가 닫힙니다(이 경우 스크립트도 닫힘). SSH 연결을 중단하지 않고 원격 셸에서 스크립트를 중지하는 방법은 무엇입니까?

Windows에서 Git Bash를 사용하여 표준 Ubuntu 배포판의 일반적인 명령을 사용하여 연결합니다.ssh user@ip

내 Windows 클라이언트에서는 .ssh/config다음과 같습니다.

Host 192.168.XXX.YYY
  HostName 192.168.XXX.YYY
  User auser
  ForwardAgent yes

Host 192.168.XXX.ZZZ
  HostName 192.168.XXX.ZZZ
  User auser

제가 사용하고 있는 원격 서버와는 아무런 관련이 없습니다.

답변1

Windows용 Git 2.35.1.2를 설치한 후에도 동일한 동작이 발생했습니다.

에서 버전 2.34.1로 다운그레이드한 후 이를 피할 수 있었습니다.여기.

답변2

CtrlC오늘도 이 문제에 부딪혔습니다. 번들로 제공되는 Windows용 Git 처리에 버그가 있는 것 같습니다 /usr/bin/ssh. Git bash에서는 실행 중인 세션을 중단하기 위해 원격 세션으로 전송되는 대신 를 누르면 사전 패키지를 사용하는 세션이 ssh종료됩니다 . CtrlC그러나 을 실행하면 /c/Windows/System32/OpenSSH/ssh예상 CtrlC대로 동작합니다. Bash 세션에 입력 ssh하여 which ssh실행 중인 내용을 확인할 수 있습니다 .

Windows용 Git v2.35.1.2를 다시 설치하여 문제를 해결했습니다. "새 옵션만 표시" 확인란을 선택 취소하여 모든 것을 재구성할 수 있으며 설치 시 옵션 중 하나가 "외부 OpenSSH 사용"이 됩니다. 물론 이 작업을 수행하려면 Windows 시스템에 이미 OpenSSH가 설치되어 있어야 합니다. Windows 10/11 시스템에서는 설정 → 응용 프로그램 → 선택적 기능 → 선택적 기능 추가로 이동한 후 "OpenSSH 클라이언트"를 선택하여 이 작업을 수행할 수 있습니다. 이것.

업데이트: 저도 이 문제를 보고했으며 최신 스냅샷에서 수정되었습니다. 따라서 번들 버전을 유지하고 싶다면 ssh다음 버전에서 수정해야 합니다.

답변3

gitbash이 문제에는 실제로 문제가 있습니다. 노력하다 Windows PowerShell. 일어나서 좋네요.

관련 정보