SSH ControlMaster 연결로 SSHfs 사용

SSH ControlMaster 연결로 SSHfs 사용

SSH 연결이 처음 설정될 때 sshfs를 사용하여 원격 시스템에 디렉터리를 자동으로 마운트한 다음 연결이 결국 끊어지면 디렉터리를 마운트 해제하고 싶습니다.

현재 SSH용 ControlMaster 도구를 사용하고 있으므로 처음 리모컨에 연결할 때 비밀번호만 입력하면 됩니다. 동시에 여러 SSH 연결이 실행되는 경우가 많습니다.

연결되면 ssh에서 스크립트를 실행할 수 있고(이를 수행할 수 있는 방법이 있었던 것으로 기억하는 것 같습니다) 스크립트는 설치를 시도하기 전에 설치가 존재하는지 확인할 수 있다고 생각합니다.

그러나 마지막 SSH(기본 SSH)가 종료될 때 설치를 어떻게 지우는지 잘 모르겠습니다.

답변1

연결된 동안 명령을 실행하는 옵션은 로 설정하여 활성화 LocalCommand해야 합니다 .PermitLocalCommandyes

ssh -oPermitLocalCommand=yes -oLocalCommand="sshfs server:dir /mnt &" myhost

이것이 &없으면 sshfs가 종료될 때까지 실제 연결이 열리지 않습니다. 이는 마스터 서버에서만 실행됩니다(따라서 에 추가하는 것이 안전합니다 ~/.ssh/config).

종료 시 명령을 실행하는 것과 동일한 것은 없지만 기본 연결과 동일한 호스트에서 sshfs를 사용하는 한 해당 연결을 사용합니다. 기본 세션의 셸이 종료되면 다른 연결이 닫힐 때까지 세션이 닫히지 않습니다.아니면 마스터가 종료됩니다.. 따라서 Ctrl-C쉘을 종료한 후 입력 하면 sshfs프로세스도 종료되고 파일 시스템이 마운트 해제됩니다.

관련 정보