Как выключить компьютер с определенным IP-адресом?
Если у нас есть набор компьютеров Windows и Linux в локальной сети, возможно ли выключить компьютер с определенным IP-адресом с помощью оболочки Linux?
Предположим, что у меня не работает ssh или telnet на ПК. У меня есть пароль root для всех компьютеров.
10 ответов
Просто чтобы дать вам ответ, основанный на вашем вопросе: "Выключить компьютер на основе только IP-адреса невозможно"
Вы можете сделать это, сделав их рабочие столы или оболочки доступными по сети. RDP(windows) / SSH или VNC (linux) подойдет.
Используйте внеполосные карты (если на компьютерах их еще нет).
Они не дешевые карты, но вы назначаете IP-адрес каждой карте, и вы можете удаленно включать / выключать / подключать /kvm все, что угодно.
Немного больше контекста для вашей проблемы было бы полезно. В общем, ответ "нет".
Удаленное выключение любого случайного компьютера, как правило, не очень хорошая возможность, поэтому большинство из них настроены на защиту от этого. Если доступ по sshd заблокирован либо отключением, либо защитой от брандмауэра, то этот компьютер еще более защищен, как и должно быть, и наличие root не принесет вам пользы, если вы не будете стоять перед этим компьютером.
С другой стороны, есть несколько вычислительных центров, которые используют системы управления, чтобы делать то, что вы думаете. Они часто поддерживаются либо специальным демоном, работающим на компьютере, который прослушивает сетевой порт, отличный от sshd, либо с помощью служебных программ низкого уровня, встроенных в сетевую карту. Эти сценарии требуют небольшого планирования и не помогут вам, если у вас вдруг возникла проблема.
В зависимости от возраста компьютера и операционной системы могут быть известные векторы атак, которые могут получить root-доступ с помощью программного обеспечения для взлома. Я не рекомендую этот маршрут, но он существует.
Одна последняя идея - есть дистанционно управляемые удлинители, которые можно использовать. Если вы знаете, к какому компьютеру это относится и к какой сетевой розетке и к какой вилке он подключен, вы можете просто отключить питание этой вилки. Опять же, это требует некоторого предварительного планирования, и вы хотите убедиться, что кто-то еще не подключил свой вентилятор к этой розетке.
Windows имеет shutdown /m \\computername
встроенная команда, но для Linux вам, вероятно, придется установить ssh и использовать ssh root@computername /sbin/shutdown
, В любом случае, почему в Linux не установлен SSH?
- Тип
shutdown -i
в окне запуска. - Нажмите кнопку "Добавить" и введите имя компьютера, который вы хотите выключить, или его IP-адрес.
- Вы можете выбрать, что вы хотите, чтобы компьютер делал.
- В этом режиме необходимо добавить комментарий. Сделай так.
- Нажмите ОК
Если вы устанавливаете службу SSH, как упоминалось ранее, вы можете использовать команду ssh, например:
ssh root@myhost.domain.com shutdown -hy 0
Для того чтобы все это было автоматизировано, необходимо выполнить обмен ключами, чтобы ваш закрытый ключ находился в файле ~/.ssh/identity по умолчанию, а открытая часть - в файле ~/.ssh/authorized_keys на удаленном хосте.
Если вы посмотрите на SSH, вы увидите все варианты и многое другое.
Вам нужно будет выяснить, что такое роутер. Как только вы это выясните, введите в командной строке следующее:
shutdown -s -f -m \\"IP of remote machine" -t xx
Введите следующее в командной строке:
shutdown -ip
Затем добавьте IP-адрес, и у вас есть различные варианты выключения, перезагрузки и так далее.
Существует программа для linux под названием winexe, которая может удаленно отправлять команды удаленным компьютерам с Windows, и я думаю, что если samba установлена на linux, она тоже может с этим работать, лучше всего, она не требует никаких изменений в Windows штук
Это возможно через команду как
shutdown -s -f -m \\"ip удаленной машины" -t xx
но для этого система должна быть в сети... -t xx
это секунды, которые вы должны указать.