원격 명령 실행을 위한 인터페이스로 명명된 파이프(FIFO)를 사용하는 것이 좋은 생각입니까?

원격 명령 실행을 위한 인터페이스로 명명된 파이프(FIFO)를 사용하는 것이 좋은 생각입니까?

컨텍스트: 텍스트 편집기를 통해 원격 컴퓨터에 명령을 실행하고 싶습니다.

"원격 명령 실행"이란 가상 머신, SSH 서버, 컨테이너, TCP를 통한 셸, 셸이 있는 모든 원격 머신 등 어딘가에서 셸 명령을 실행하는 것을 의미합니다.

내가 말하는 "인터페이스"는 사용자에게 세부 정보를 숨기는 목표입니다. 사용자는 어딘가에 명령을 작성하고 그 출력을 어딘가에서 읽으면 됩니다.

저는 다음과 같이 구성할 생각입니다.

mkfifo /tmp/f
mkfifo /tmp/g

while true; do
    cat /tmp/f | ssh -J srv1 srv2 /bin/sh >/tmp/g

    echo ping
done

사용자는 명령을 보낸 /tmp/f다음 명령의 출력을 읽습니다 /tmp/g.

효과가 있지만 정말 좋은 해결책일까요? 이 작업은 전통적으로 어떻게 해결됩니까?

전반적으로, 나는 그것이 꽤 좋다고 생각합니다 :

  • 더러운 작업(시간 초과, 로깅, 정책 다시 시작, 구성)이 어떻게든 처리된다고 가정합니다.

  • 인터페이스가 더 복잡해질 필요는 없습니다. stdout/stderr 차이점, 오류 메시지, 생성/파기 요청 등을 포함하고 싶지 않습니다.

관련 정보