SSH를 사용하여 원격 호스트를 통해 액세스되는 클러스터에서 로컬 입력 파일로 로컬 스크립트를 실행하려고 하면 파이프가 끊어집니다.

SSH를 사용하여 원격 호스트를 통해 액세스되는 클러스터에서 로컬 입력 파일로 로컬 스크립트를 실행하려고 하면 파이프가 끊어집니다.

SSH를 사용하여 원격 시스템의 클러스터에서 로컬 스크립트(예: 호스트 이름.sh)를 실행하려고 하는데 다음 오류가 발생합니다.

> ssh -A _remote ssh -A _cluster 'bash' < hostname.sh
stdout: write: Broken pipe

이 예에서는 호스트 이름.sh 파일이 단순히 호스트 이름을 출력하지만 일반적으로 더 복잡할 수 있습니다. 다음이 작동하므로 파이프를 잘못 사용하여 오류가 발생할 수 있습니다.

ssh -A _remote ssh -A _cluster hostname
> _cluster_name

여러 가지 솔루션을 시도했지만 모두 실패합니다. ssh로 _remote로 요약한 다음 이 경우에는 사용할 수 없는 hotsname.sh를 읽으려고 합니다. 작동하는 방법은 hostname.sh를 _remote에 복사하고 SSH를 원격에 복사한 다음 실행하는 것입니다.

ssh _cluster "bash" < hostname.sh

하지만 이는 로컬 컴퓨터와 원격 컴퓨터 간에 지속적으로 hostname.sh를 동기화해야 함을 의미합니다.

도움을 주시면 감사하겠습니다.

관련 정보