Как выключить компьютер с определенным IP-адресом?


8

Если у нас есть набор компьютеров Windows и Linux в локальной сети, возможно ли отключить компьютер с определенным IP-адресом с помощью оболочки Linux?

Предположим, что у меня не работает ssh или telnet на ПК. У меня есть пароль root для всех компьютеров.

Ответы:


6

Просто чтобы дать вам ответ, основанный на вашем вопросе: «Выключить компьютер на основе только IP-адреса невозможно»

Вы можете сделать это, сделав их рабочие столы или оболочки доступными по сети. RDP (windows) / SSH или VNC (linux) подойдет.


4

Используйте внеполосные карты (если на компьютерах их еще нет).

Они не дешевые карты, но вы назначаете IP-адрес каждой карте, и вы можете удаленно включать / выключать / подключать / kvm все, что угодно.


2

В Windows shutdown /m \\computernameвстроена команда, но для Linux вам, вероятно, придется установить ssh и использовать ее ssh root@computername /sbin/shutdown. В любом случае, почему в Linux не установлен SSH?


4
Доступ root по SSH - последнее, что я скажу людям!
LiraNuna

служба sshd была остановлена ​​по какой-то причине. Нет ли другого способа выключить компьютер? я не хочу войти. просто надо его выключить.
Рохит Банга

1
Что касается пароля root: см. Также «Выключение без пароля пользователя sudo в Ubuntu» по адресу superuser.com/questions/92925/…
Arjan

2

Немного больше контекста для вашей проблемы было бы полезно. В общем, ответ «нет».

Удаленное выключение любого случайного компьютера, как правило, не очень хорошая возможность, поэтому большинство из них настроены на защиту от этого. Если доступ по sshd заблокирован либо отключением, либо защитой от брандмауэра, тогда этот компьютер еще более защищен, как и должно быть, и наличие root не принесет вам пользы, если вы не будете стоять перед этим компьютером.

С другой стороны, есть несколько вычислительных центров, которые используют системы управления, чтобы делать то, что вы думаете. Они часто поддерживаются либо специальным демоном, работающим на компьютере, который прослушивает сетевой порт, отличный от sshd, либо с помощью утилит встроенного ПО низкого уровня, встроенных в сетевую карту. Эти сценарии требуют небольшого планирования и не помогут вам, если у вас вдруг возникла проблема.

В зависимости от возраста компьютера и операционной системы могут быть известные векторы атак, которые могут получить root-доступ с помощью программного обеспечения для взлома. Я не рекомендую этот маршрут, но он существует.

Одна последняя идея - есть дистанционно управляемые удлинители, которые можно использовать. Если вы знаете, к какому компьютеру это относится и к какой сетевой розетке и к какой вилке он подключен, вы можете просто отключить питание этой вилки. Опять же, это требует некоторого предварительного планирования, и вы хотите убедиться, что кто-то еще не подключил свой вентилятор к этой розетке.


взломать программное обеспечение. Я хочу знать больше об этом. это всего лишь эксперимент, который я хочу провести в моей контролируемой лабораторной среде.
Рохит Банга

1

Вам нужно будет выяснить, что такое роутер. Как только вы это выясните, введите в командной строке следующее:

shutdown -s -f -m \\"IP of remote machine" -t xx

1

Если вы устанавливаете службу SSH, как упоминалось ранее, вы можете использовать команду ssh, например:

ssh root@myhost.domain.com shutdown -hy 0

Для того чтобы все это было автоматизировано, необходимо выполнить обмен ключами, чтобы ваш закрытый ключ находился в файле ~ / .ssh / identity по умолчанию, а открытая часть - в файле ~ / .ssh / authorized_keys на удаленном хосте.

Если вы посмотрите на SSH, вы увидите все варианты и многое другое.


Что касается пароля root: см. Также «Выключение без пароля пользователя sudo в Ubuntu» по адресу superuser.com/questions/92925/…
Arjan

1
  1. Введите shutdown -iв окне запуска.
  2. Нажмите кнопку «Добавить» и введите имя компьютера, который вы хотите выключить, или его IP-адрес.
  3. Вы можете выбрать, что вы хотите, чтобы компьютер делал.
  4. В этом режиме необходимо добавить комментарий. Сделай так.
  5. Нажмите ОК

0

Это возможно через команду как

shutdown -s -f -m \\ "ip удаленной машины" -t xx

но для этого система должна быть в сети ... -t xxэто секунды, которые вы должны указать.


Только для Windows, верно? (Точно так же, как @Hirvox ответил?)
Арьян

это работает на Linux
Rohit Banga

shutdownработает на Unix (включая большинство linux), но варианты отличаются от версии для Windows. Для Unix есть также telinit 0, init 0задержки через atили cron, и т. Д. Но для первоначального вопроса, вам нужно войти в систему через сеть. SSH, rsh/rlogin, telnetИ т.д. могут все это сделать (с соответствующими правами доступа пользователей), но вы должны по крайней мере один из них доступны.
mpez0

0

Введите в командной строке следующее:

shutdown -ip 

Затем добавьте IP-адрес, и у вас есть различные варианты выключения, перезагрузки и так далее.


0

Существует программа для linux под названием winexe, которая может удаленно отправлять команду удаленным компьютерам с Windows, и я думаю, что если samba установлена ​​на linux, она тоже может с этим работать, лучше всего то, что она не требует каких-либо изменений в Windows. штук


1
Добро пожаловать в суперпользователя. Чтобы ваш ответ был актуальным, пожалуйста, включите ссылку на программу, которую вы описываете, и, возможно, немного более определенно о том, как она работает, каковы ее особенности и т. Д.
MattDMo
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.