SSH 연결을 닫기 전에 자동으로 코드 실행

SSH 연결을 닫기 전에 자동으로 코드 실행

원격으로 공유 서버에 연결하고 있으며 원격 컴퓨터에서 코드 줄 실행을 자동화하고 싶습니다.앞으로연결을 닫습니다(예: Ctrl+D 누르기).

좀 더 구체적으로 말하자면, 떠나기 전에 SSH 에이전트를 종료하고 싶었는데, 내가 떠난 후에도 여전히 SSH 에이전트가 실행 중이라는 것을 알았기 때문입니다. 에이전트가 다른 프로그램에 의해 시작되었으므로 시작 방법을 변경하는 것보다 떠나기 전에 에이전트를 종료하는 것이 더 쉬울 것이라고 생각했습니다.

아래와 같이 임의의 명령을 자동으로 실행할 수 있습니까?앞으로SSH 연결을 닫으시겠습니까?

# user attempts to close connection

# an arbitrary code or script runs
eval "$(ssh-agent -k)"

# connection is closed

flag() 와 같은 것일 수도 있지만 -t연결 후가 아니라 연결 해제 전에 실행됩니다.ssh -t [email protected] 'cd /some/path; bash -l'

답변1

trap실행 .bashrc시간 을 설정할 수 있습니다쉘 종료:

그것은 마치

trap 'test -n "$SSH_AGENT_PID" && eval "$(/usr/bin/ssh-agent -k)"' 0

선택적으로 루틴 추가.bash_logout

관련 정보