LocalCommand에서 SSH를 종료할 수 있습니까?

LocalCommand에서 SSH를 종료할 수 있습니까?

이것이 SSH를 사용하는 LocalCommand의 의도된 사용 사례가 아니라는 것을 알고 있지만 명령을 실행한 다음 LocalCommand를 사용하여 직접 SSH 세션을 종료하려는 경우 가능합니까?

예를 들어:

LocalCommand <some command>; exit

위의 방법을 시도했지만 작동하지 않는 것 같고 여전히 쉘이 생성됩니다.

답변1

해결 방법 1:

ssh [email protected]  'cd foo/bar && rm *.foobar'

이는 여전히 출력을 표준 출력으로 인쇄하지만 명령을 실행한 후 기본적으로 종료됩니다.

해결 방법 2:

사용 사례에 대한 해결 방법: 언급한 설명에 따라 이 ssh 명령에만 ssh를 사용합니다.

다음과 같은 파일을 편집할 수 있습니다./etc/profile

마지막 줄에 실행하려는 명령을 모두 입력한 다음 종료를 입력하세요.

전임자:

ls / > /tmp/output
exit

그러면 명령이 실행되고 세션이 종료됩니다.

just 를 사용하여 호출할 수 ssh user@host있으며 다른 것은 필요하지 않습니다.

추신: 이것은 단지 명령을 실행하고 종료됩니다. 시스템에 SSH로 접속하여 작업을 수행하려는 경우 이를 수행할 수 없다는 점을 기억하십시오.내보내기의 마지막 줄을 제거하지 않는 한.

답변2

로컬 명령은 SSH 클라이언트 프로세스의 하위 프로세스입니다. 세션을 닫으려면 kill local 명령의 상위 클라이언트를 종료하면 됩니다.

LocalCommand kill $PPID

그런 다음 SSH가 원격 호스트에 연결되고 인증이 수행되면 원격 명령을 실행하기 전에 클라이언트가 종료됩니다.

요점이 보이지 않습니다. 로그인 후 즉시 종료되는 무작동 원격 명령( ssh ''또는 )을 실행해 보는 것은 어떨까요?ssh :

관련 정보