답변:
Windows에는 shutdown /m \\computername
명령이 내장되어 있지만 Linux의 경우 ssh를 설치하고 사용해야 ssh root@computername /sbin/shutdown
합니다. 어쨌든 리눅스 박스에 SSH가 설치되어 있지 않은 이유는 무엇입니까?
문제에 대한 좀 더 문맥이 도움이 될 것입니다. 일반적으로 답은 '아니요'입니다.
임의의 컴퓨터를 원격으로 종료하는 것은 일반적으로 수행 할 수있는 좋은 방법이 아니므로 대부분의 경우 이러한 상황을 방지하도록 설정되어 있습니다. 비활성화되거나 방화벽으로 인해 sshd 액세스가 차단 된 경우 해당 컴퓨터는 보호 수준이 훨씬 높아지고 해당 컴퓨터 앞에 서 있지 않으면 루트를 갖는 것이 좋지 않습니다.
반면에 관리 시스템을 사용하여 원하는 것을 수행하는 일부 컴퓨팅 센터가 있습니다. 이들은 종종 컴퓨터에서 실행되는 특수 데몬, sshd와 다른 네트워크 포트에서 수신 대기하거나 네트워크 카드에 내장 된 저수준 펌웨어 유틸리티를 사용하여 지원됩니다. 이러한 시나리오에는 약간의 계획이 필요하며 갑자기 문제가 발생해도 도움이되지 않습니다.
컴퓨터 및 OS의 연령에 따라 크래킹 소프트웨어를 사용하여 루트 액세스를 제공 할 수있는 알려진 공격 경로가있을 수 있습니다. 이 경로는 권장하지 않지만 존재합니다.
마지막 아이디어는 원격으로 사용할 수있는 전원 스트립이 있습니다. 어떤 컴퓨터이고 어떤 전원 스트립과 어느 플러그에 연결되어 있는지 알고 있다면 해당 플러그의 전원을 끄면됩니다. 다시 말하지만 사전 계획이 필요하며 누군가 인공 호흡기를 해당 콘센트에 꽂지 않았는지 확인해야합니다.
앞에서 언급 한 것처럼 SSH 서비스를 설치하면 다음과 같은 ssh 명령을 사용할 수 있습니다.
ssh root@myhost.domain.com shutdown -hy 0
이 모든 것을 자동화하려면 키 교환을 수행해야합니다. 따라서 개인 키는 기본 ~ / .ssh / identity 파일에 있고 공개 부분은 원격 호스트의 ~ / .ssh / authorized_keys 파일에 있습니다.
SSH를 보면 모든 옵션 등이 표시됩니다.
다음과 같은 명령을 통해 가능합니다
shutdown -s -f -m \\ "원격 시스템의 IP"-t xx
그러나이를 위해서는 시스템이 lan에 있어야합니다 ... -t xx
초는 지정해야합니다.
shutdown
유닉스 (대부분의 리눅스 포함)에서 작동하지만 옵션은 Windows 버전과 다릅니다. 유닉스의 경우도있다 telinit 0
, init 0
를 통해 지연 at
또는 cron
등 그러나 원래의 질문에, 당신은 네트워크를 통해 호스트에 로그인 할 필요가있다. SSH
, rsh/rlogin
, telnet
, 등 모든 (적절한 사용자 권한으로) 그것을 할 수 있지만, 사용 가능한 이들 중 적어도 하나가 필요합니다.