Windows 10에서 Powershell 버전 5.1.18362.1171을 사용하고 있습니다.
다음 명령을 실행하면:
ssh -i id_rsa [email protected] 'exec bash -l';
그런 다음 열린 bash 콘솔에서 이 명령을 수동으로 실행하십시오.
/usr/bin/o3d3xx-reboot
스크립트는 오류 없이 올바르게 작동하며 결국 재부팅됩니다. 그러나 아래 코드를 사용하여 이 코드를 자동으로 실행하려고 하면 재부팅 스크립트 내의 일부 오류로 인해 항상 실패합니다.
ssh -i id_rsa [email protected] '/usr/bin/o3d3xx-reboot';
첫 번째 버전에서 작동하는 것과 같은 방식으로 수동 입력 없이 이 스크립트/바이너리를 실행할 수 있는 방법이 있습니까?
답변1
재부팅되지 않은 이유를 설명하는 로그 파일을 제공하지 않으면 문제가 무엇인지 추측하기 어렵습니다.
다음과 같이 SSH에서 bash를 호출하고 명령을 실행한 후 즉시 SSH 연결을 종료하여 문제를 해결할 수 있습니다.
ssh you@yourserver "bash --rcfile <(echo '. ~/.bashrc; /usr/bin/o3d3xx-reboot; exit') -l"
bash
를 호출 한다는 사실은 -l
실행 o3d3xx-reboot
파일에 /etc/profile
. 덜 해킹된 솔루션을 만들기 위해 거기를 보고 싶을 수도 있습니다.
답변2
ssh -i id_rsa myuser@myip "bash --login -c 'cd /usr/bin/ && o3d3xx-reboot && exit'";
환경 변수가 누락되어 스크립트가 작동하지 않은 것 같습니다. 저는 로그인하여 수동으로 명령을 입력하는 것과 동일한 방식으로 환경을 로드하는 위의 스크립트를 사용했습니다.