저는 임베디드 시스템에서 작업 중이며 원격 시스템에서 재부팅을 시작하고 싶습니다.
나는 다음을 포함하여 다양한 접근 방식을 시도했습니다.
ssh -o StrictHostKeyChecking=no root@${HOST} /bin/systemctl reboot -i
그러나 실제로는 아무것도 작동하지 않으며 위의 내용은 나에게 다음과 같은 피드백을 제공합니다.
Failed to set wall message, ignoring: Interactive authentication required.
Failed to reboot system via logind: Interactive authentication required.
Failed to start reboot.target: Interactive authentication required.
ee system logs and 'systemctl status reboot.target' for details.
그리고 systemctl status reboot.target
나에게 다음을 제공합니다:
● reboot.target - Reboot
Loaded: loaded (/lib/systemd/system/reboot.target; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:systemd.special(7)
많은 사람들이 재시작 명령 앞에 sudo를 추가하여 유사한 재시작 문제를 해결할 수 있다는 것을 알았지만 이미 로그인했기 때문에 root
이 작업을 수행할 필요가 없습니다. 로그인이 보안에 미치는 영향을 알고 있지만 root
지금은 무시해 주시기 바랍니다. 현재 작업에 집중하고 싶습니다. SSH를 통해 루트 로그인을 사용하여 재부팅을 어떻게 트리거할 수 있나요?
내가 시도한 것은 다음과 같습니다.
ssh -o StrictHostKeyChecking=no root@${HOST} reboot
ssh -o StrictHostKeyChecking=no root@${HOST} /sbin/reboot
ssh -o StrictHostKeyChecking=no root@${HOST} /bin/systemctl reboot -i
원격 상자는 Yocto로 구축된 맞춤형 임베디드 Linux 배포판을 실행합니다.
답변1
위의 @Panki의 의견 덕분에 런레벨 6으로 전환하면 문제가 해결되었음을 알았습니다! 그러나 나는 제안된 대로 init 6을 사용하지 않았습니다. ssh -o StrictHostKeyChecking=no root@${HOST} /sbin/telinit 6
작동했습니다!