내 목표는 SSH를 통해 Gateway라는 서버로 연결한 다음 거기에서 meerkat이라는 서버로 연결하는 것입니다. 일단 미어캣에 들어가면 서버의 디렉터리에서 내 집 컴퓨터로 파일을 복사하는 스크립트를 실행하고 싶습니다.
단순화를 위해 SSH 점프를 한 번만 수행하면 된다고 가정할 수 있습니다(답이 더 명확하다면).
본질적으로, 내 집 컴퓨터에 임의의 bash 스크립트 testScript.sh가 있는 경우 원격 서버에서 해당 스크립트를 어떻게 실행할 수 있습니까?
이제 나는 시도했다
cat testBashScript.sh | ssh -tt gateway "ssh meerkat \" cat >> testBashScript.sh && chmod 755 testBashScript.sh && ./testBashScript.sh \""
이것은 내가 기대했던 것과 전혀 다른 매우 이상한 출력을 생성합니다.
일반적으로 말하면 bash와 같은 셸에서 수동으로 작업을 수행할 수 있다면 나처럼 "작동"하고, 컴퓨터에 입력하고, 실제 사용자처럼 행동하는 스크립트를 작성할 수 있어야 할 것 같습니다. 출력은 괜찮습니다.
스크립트를 작성할 때 모든 것과 상호 작용하는 완전히 다른 방법이 필요합니까? 아니면 이를 수행할 수 있는 쉬운 방법이 있습니까?
이것이 가능하지 않은 경우 스크립트를 사용하여 원격 서버의 파일을 백업하는 더 쉬운 방법은 무엇입니까?
마지막으로, 다른 모든 방법이 실패할 경우 쉘 환경의 사용자와 너무 다를 때 스크립트를 어떻게 효율적으로 작성합니까?