로컬 프로그램에서 SSH 결과 사용

로컬 프로그램에서 SSH 결과 사용

SSH를 사용하여 원격 컴퓨터에서 스크립트를 실행하고 결과를 받으려고 합니다. 다음을 시도했습니다.

 sh -c "ssh 192.168.2.202 /etc/my_script.sh arg1 arg2 > result.txt 2>/dev/null " 

이 답변에서 제안한대로SSH를 통해 표준 출력 리디렉션그러나 STDERR을 리디렉션하지 않으면 다음과 같은 결과를 얻습니다.

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Inappropriate ioctl for device

더 좋은 방법이 있나요? 마지막으로 프로그램 내부에서 시스템 호출을 통해 ssh를 실행해야 하며 결과를 파일이나 변수로 받을 수 있어야 합니다. 참고: dropbear ssh가 로드된 씬 Linux ubunto가 있는 uProcessor에 연결하세요.

답변1

이것은 작동합니다:

ssh user@host "<cmd> > output.txt 2>/dev/null"

나는 당신이 겪고 있는 문제가 "sh -c"에 의해 해석된 매개변수로부터 SSH 쉘로 전송된 명령을 분리할 수 없다는 것이라고 생각합니다.

관련 정보