원격 호스트를 통해 액세스되는 클러스터의 로컬 입력 파일에서 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를 동기화해야 함을 의미합니다.

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

관련 정보