SSH를 통해 파일을 업로드하고 원격 시스템에서 명령을 실행합니다.

SSH를 통해 파일을 업로드하고 원격 시스템에서 명령을 실행합니다.

SSH를 사용하여 파일을 업로드하는 가장 간단한 방법을 찾고 그 후 일부 사후 처리를 위해 동일한 SSH 세션 내의 원격 시스템에서 명령을 실행하여 다시 로그인할 필요가 없도록 노력하고 있습니다. 가능하다면 업로드에 진행률 표시기가 표시되어야 합니다.

지금까지 scp와 rsync를 살펴보았는데 둘 다 후크를 실행할 수 없습니다. ( --rsync-path매개변수를 사용하여 일부 스크립트를 실행할 수 있습니다.~ 전에rsync) 하지만 후처리를 수행하고 싶습니다. SSH 세션을 열고, 업로드하고, 명령을 실행하고 다시 닫는 방법이 있습니까?

답변1

음, 다른 쪽 끝에 ssha를 사용하여 하나의 명령을 통해 모든 것을 파이프할 수 있습니다 . cat여기서는 쉘 스크립트를 업로드하고 실행 가능하게 만든 후 실행합니다.

$ cat sayhi.sh | ssh myserver 'cat > ./remotehi.sh ; chmod +x ./remotehi.sh ; ./remotehi.sh'
hello, world!

답변2

ControlMaster의 메커니즘을 원할 수도 있습니다 ssh.

관련 정보