Перезагрузка компьютера в Linux. Перезагрузить сервер через ssh


Перезагрузка компьютера с Linux

Эта статья ориентирована на самых новичков в Linux ну и тех кого интересует как перезагрузить Linux из консоли. Для меня перезагрузить компьютер в терминале или с помощью графического интерфейса это элементарно, но это база, не все новички ее знают и надо об этом написать.

Сегодня мы рассмотрим такие вопросы, как команда перезагрузки Linux из консоли, перезагрузка удаленно, и непосредственно перезагрузка в графическом интерфейсе. Начнем, пожалуй, с обычной перезагрузки системы.

Содержание статьи:

Перезагрузка Linux в графическом интерфейсе

Здесь, как говорится, что может быть проще. Рассмотрим сначала перезагрузку в Ubuntu Unity. Достаточно нажать на кнопку с шестеренкой в правом верхнем углу экрана, и выбрать пункт Выключение:

Затем в открывшимся окне кликнуть по пункту Перезагрузка:

В окружении рабочего стола Gnome, все очень похоже на Unity, а в KDE нужно открыть главное меню, перейти на вкладку выход, и выбрать пункт перезагрузить:

Затем подтвердить перезагрузку.

Перезагрузка Linux в терминале

А здесь уже простор намного шире, существует около десятка команд, которыми можно перезагрузить Linux. Одним нужны root привилегии, другим нет, одни выглядят просто и легко запоминаются, а другие длинные и сложные. Дальше мы рассмотрим их все.

Первая команда перезагрузки Linux, самая распространенная и самая простая:

sudo reboot

Как видите, утилите нужны права суперпользователя. После нажатия Enter компьютер сразу уйдет в перезагрузку.

Утилита shutdown, которая используется для выключения тоже позволяет перезагрузить компьютер для этого нужно передать ей параметр -r. Плюс к тому же можно указать время перезагрузки. Сейчас - 0 или now, через одну минуту +1 через две - +2 и т д:

sudo shutdown -r +1

Перезагрузка Linux будет выполнена через минуту после ввода команды.

В системах инициализации совместимых с Init Scripts, существовали уровни загрузки системы - 0,1,2,3,4,5,6, уровень 0 - означал выключение, 6 перезагрузку, остальные режимы работы системы нас сейчас не интересуют. Переключаться между уровнями можно командой init. Только опять же нужны права суперпользователя. Таким образом:

sudo init 6

Служба системных сообщений dbus тоже умеет перезагружать компьютер:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

Тут уже не нужны права суперпользователя. Это были обычные способы перезагрузки Linux, но есть еще один, нестандартный или даже два. Это магические SysRq клавиши. Ядро Linux отслеживает нажатие определенных сочетаний клавиш, и в ответ на них выполняет нужные действия. Сначала включаем поддержку sysrq:

 echo 1 > /proc/sys/kernel/sysrq 

Лучше это сделать заблаговременно, так как этот способ полезен когда система зависла и ни на что не реагирует:

nano /etc/sysctl.conf

kernel.sysrq = 1

Для активации SysRq сочетания зажмите Alt + SysRq и нажмите код клавиши. Для нормальной перезагрузки рекомендуется использовать следующую последовательность: R E I S U B, клавиши нажимать в той же последовательности с интервалом приблизительно секунду.

Перед перезагрузкой система ожидает завершения всех процессов, останавливает все сервисы, отключает и монтирует в режиме только чтения файловые системы. Это мы и делаем, нажимая последовательно эти сочетания клавиш. Но если вам нужно перезагрузить систему сейчас не дожидаясь отключения всех процессов, например, сервер, можно сразу отправить сигнал B. Вот так: Alt + SysRq + B.

SysRq можно задействовать и без сочетаний клавиш, записав нужный код операции в файл /proc/sysrq-trigger:

echo b > /proc/sysrq-trigger

Система будет перезагружена как есть, без остановки сервисов и подготовки файловых систем, поэтому не сохраненные данные могут быть потеряны, а файловая система повреждена.

Удаленная перезагрузка Linux

Если у вас есть доступ к серверу по ssh то можно очень просто удаленно перезагрузить linux с помощью одной из выше приведенных команд, например:

ssh root@remote-server.com /sbin/reboot

Только опять же для этой операции нужно иметь права root на удаленном сервере.

Выводы

Теперь вы знаете как выполняется перезагрузка linux, вы даже знаете что делать когда система зависла и как перезагрузить сервер по ssh. Если у вас остались вопросы, спрашивайте в комментариях!

Оцените статью:

Загрузка...

losst.ru

Категория:Выделенные сервера — Wiki.Hosting.UA

Как соединиться с сервером по протоколу SSH

Для этого вам необходимо скачать и установить ssh-клиент, например PuTTY. Для скачивания последней версии Putty.exe на ваш компьютер кликните правой клавишей на ссылку

и сохраните файл putty.exe на Вашем компьютере.

Дважды кликните на загруженный файл putty.exe .

Putty

Клиент PuTTY после установки нуждается в несложной конфигурации:

Host Name (or IP address) IP адрес(FQDN имя) Вашего сервера
Port Порт на котором работает сервер SSH, по-умолчанию 22
Connection type SSH. Протокол по которому будет работать PuTTY
Saved Sessions Вводим название сессии для сохранения настроек подключения, нажимаем Save. Удобно, не нужно вводить каждый раз данные для подключения

Для соединения с сервером Вам теперь надо запустить PuTTY и дважды кликнуть на название сохраненной сессии.

Оно будет прямо под "Default Settings" Putty после этого соединит Вас с сервером и спросит логин/пароль

Введите login: yourlogin password: yourpassword

После ввода вы соединитесь с сервером по SSH.

Как перезагрузить сервер используя SSH

Для корректной перезагрузки сервера используя SSH необходимо:

vsftpd

При логине не пускает пишет oops cannot change directory oops child died

Необходимо выполнить команды: getsebool -a|grep ftp

Безопасность выделенного сервера

Рекурсивные запросы DNS

Различают два типа DNS-запросов: рекурсивные и итеративные. При рекурсивном запросе сервер имен должен найти информацию самостоятельно. То есть при получении рекурсивного запроса сервер имен при отсутствии у него ответа на запрос должен сам обратиться к помощи других серверов имен, например к корневым серверам (данный запрос будет итеративным). Они сами не дадут ответа, но зато направят тебя на другие DNS-серверы. Сервер имен будет проверять все предоставленные ему ссылки, пока не обнаружит необходимую информацию.

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

Как видно при рекурсивных запросах, все сложности, связанные с поиском ответа, ложатся на плечи DNS-сервера, и он вынужден сам обращаться с запросами на другие DNS-сервера и обрабатывать поступающую от них информацию. Таким образом, при большом количестве рекурсивных запросов к DNS-серверу возможно исчерпывание ресурсов сервера и отказ в обслуживании.

Однако более вероятными и опасными являются распределенные атаки с использованием DNS-серверов. Они с успехом могут применяться для распределенных DOS-атак, так как они работают с UDP-протоколом, и атакующему ничего не стоит подделать обратный IP-адрес. Отправка множества запросов на разные DNS-сервера с обратным адресом хоста-жертвы вызовет большой трафик от DNS-серверов к атакуемому хосту-жертве. Серверы, поддерживающие рекурсию для распределенных атак, более предпочтительны, так как от них будет больший коэффициент умножения, особенно при использовании EDNS (RFC 2671) запросов, когда коэффициент может достигать 60-ти и более. Во избежания ситуаций, при которых Ваш сервер может стать участником DDoS атаки, необходимо отключить рекурсивные запросы. Для этого необходимо в главном конфигурационном файле DNS сервера named.conf в секции options внести следующие изменения:

options { allow-recursion { 127.0.0.1/8; 192.168.1.0/29; }; // Разрешить рекурсивные запросы только с указанных сетей allow-query-cache { 127.0.0.1/8; 192.168.1.0/29; }; // Разрешить запросы к кэш ДНС только для указанных сетей allow-transfer { none; }; // Запретить передачу зоны version none; // Запретить отображение версии DNS сервера };

где 192.168.1.0/29 - выданная Вам сеть.

После чего выполнить перезагрузку DNS сервера. Например для операционной системы Linux CentOS нужно выполнить следующую команду:

/etc/init.d/named restart

Ссылки:

  1. Wiki DNS

Недоступен сервер, сайт

Для решения проблем связанных с потерей пакетов с недоступностью сервера (сайта) и т.п. необходимо связаться с технической поддержкой.

При обращении в техническую поддержку:

Пример результата выполнения команды pathping Пуск - Выполнить - cmd - (Нажать Вввод/Enter, в появившемся окне набрать команду) pathping XXX.XXX.XXX.XXX

где XXX.XXX.XXX.XXX - IP адрес Вашего сервера или имя Вашего сайта.

Важно! Команда выполняется в течении 2-5 минут в зависимости от количества промежуточных узлов, такое большое время необходимо для сбора сетевой статистики, поэтому необходимо дождаться завершения выполнения команды.

Дополнительную информацию по этой команде можно найти в документации разработчика. Документация на русском языке PathPing Документация на английском языке PathPing

Страницы в категории «Выделенные сервера»

Показано 2 страницы из 2 имеющихся.

wiki.hosting.ua

Как перезапустить службу SSH? Ubuntu Linux

Я получаю ошибки каждый раз.

15.04 и новее:

Используйте эту команду:

sudo systemctl restart ssh

Перезапустить сервер / демон SSH.

Начиная с systemd начиная с Ubuntu 15.04 , вы теперь используете этот синтаксис для остановки, запуска или перезапуска служб:

sudo systemctl <action> <service-name>

Pre 15.04:

Он должен быть таким же простым, как (проверен на новой установке с openssh-сервером)

sudo stop ssh sudo start ssh

Поскольку он использует выскочку , это лучший способ для этого, вместо использования /etc/init.d/ssh, service или вызова sshd напрямую. Обязательно выполняйте обе команды; если вы получите сообщение об ошибке stop ssh , start ssh любом случае и посмотрите, что он говорит – услуга уже может быть остановлена.

(Я бы порекомендовал stop / start over restart , если вы не пытаетесь перезапустить систему удаленно. Если ssh уже остановлен, restart не запустится.)

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

Команда для перезапуска ssh service :

sudo service ssh restart

Начиная с Ubuntu 15.04, Canonical больше не выгружается по умолчанию . Таким образом, команды start , stop и restart больше недоступны.

Правильный метод перезапуска службы SSH (или любой другой службы) теперь является одной из двух следующих команд:

sudo systemctl restart ssh sudo service ssh restart

Сначала проверьте, работает ли sshd, используя следующее:

ps -ef | grep sshd

Вы должны увидеть что-то вроде:

root 1234 1 0 12:28 ? 00:00:00 /usr/sbin/sshd -D

Если вы не видите строку для /usr/sbin/sshd -D тогда sshd либо никогда не запускался, либо не разбился, что потребует дальнейшего устранения неполадок, чтобы узнать, почему.

Если вы видите эту строку, выполните следующую команду:

cat /var/run/sshd.pid

Это должно печатать идентификатор процесса sshd, поэтому в этом случае вы должны увидеть:

userid@computername:~$ cat /var/run/sshd.pid 1234

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

Я думаю, что ошибка Неизвестного экземпляра связана с тем, что SSH не работает.

Пытаться:

ps ax | grep sshd

Чтобы проверить, работает ли демон SSH или нет, вы должны увидеть что-то вроде:

/usr/sbin/sshd -D

В любом случае, попробуйте любой из них: sudo /etc/init.d/ssh start sudo start ssh

ubuntu.fliplinux.com

Настройка SSH сервера

1. Через пакетный менеджер Synaptic установите пакет ы openssh-server и openssh-clients.

2. В конфигурационном файле сервера /etc/ssh/sshd_config измените следующие переменные:

#для того, чтобы злоумышленник не смог подбирать пароли, спрячем от него SSH-сервер, указав нестандартный порт (желательно указывать номер >1024, не забудьте изменить порт в своем SSH-клиенте)

#Port 22

Port 2200

# проверим, чтобы была указана вторая, более защищенная версия, протокола SSH

#Protocol 2,1

Protocol 2

# запретим авторизацию пользователя root (теперь злоумышленнику прийдется подбирать не только пароль, но и логин, что намного сложнее; чтобы получить доступ с правами суперпользователя, необходимо сначала зайти на сервер под обычной учетной записью, а затем выполнить команду "su -" и ввести пароль пользователя root)

#PermitRootLogin yes

PermitRootLogin no

# разрешим серверу запускать удалённо графические приложения и отправлять их на клиентскую машину

X11Forwarding yes

X11DisplayOffset 10

X11UseLocalhost yes

3. В конфигурационном файле клиента /etc/ssh/ssh_config измените следующие переменные:

# сделаем так, чтобы клиентская машина смогла запускать удалённо графические приложения на сервере

ForwardX11 yes

ForwardX11Trusted yes

Теперь мы сможем заходить на машину не только в консольном режиме, но и с запуском иксовых приложений.

4. Запустите SSH сервер:

Если не запустится командой service, запускайте через следующие скрипты:

5. На стороне клиента открываем консоль и пишем (-p - порт; -l -логин пользователя, под которым вы зайдете на сервер удаленно; 192.168.0.1 - адрес нашего сервера):

ssh -p 2200 -l user 192.168.0.1

После этого вас спросят: "Данный IP ещё не опознан как доверительный, стоит ему доверять?" Пишем yes.

Далее вводим пароль пользователя удалённой машины, под которым мы заходим и попадаем в консоль удалённой машины. Теперь, в окошке терминала, который на нашей машине, мы управляем компьютером, к которому подключились.

Чтобы запустить графическое приложение удалённо, в удаленной консоли наберите имя программы и поставьте после имени знак &. Например,

gimp &

Это запустит на удалённой машине GiMP в фоне и вернёт вам консоль для дальнейших действий. Если вы не поставите & после имени приложения, то управление в консоль будет возвращено только после завершения приложения.

Итак, у вас запустится графическое приложение точно так же, как если бы оно работало у вас. Есть одно но: это приложение будет работать на вашем экране, но с документами и настройками удалённой машины. Если файл для обработки находится в вашем домашнем каталоге, то его нужно будет передать на удалённую машину. Оно (и другие приложения, которые вы запустите) будет работать ровно до того момента, пока открыто ssh-соедиение.

 

Примечания

* Доступ по SSH может быть осуществлен не только из Linux или FreeBSD, но и из Windows - при помощи программы Putty и X-сервера Xming.

** Существует возможность получать удаленный доступ без ввода пароля, с помощью rsa-ключей. Делается это так:

Создадим ключ, шифрованный алгоритмом RSA, длиной в 2048 бита (системы шифрования на основе RSA считаются надёжными, если длина ключа не менее 1024 бит). Для полной безопасности ssh-keygen попросит ввести пароль. Нажмите Enter, оставив пароль пустым, иначе этот пароль придется каждый раз вводить (-b - длина ключа в битах, -t - файл, в которм сохраним ключ):

ssh-keygen -t rsa -b 1024 -f ~/.ssh/id_rsa

Далее скопируем наш публичный ключ на машину, куда будем заходить удаленно:

ssh-copy-id -i ~/.ssh/id_rsa.pub user 192.168.0.1

Возможно, при выполнении команды в последний раз придется ввести свой пароль на удаленную машину.

Все. Теперь пароль при подключении вводить больше не потребуется.

pclinuxos.su

Как перезагрузить сервер? / Хабр

Abstract: описание видов ребута, рассказ про sysrq, ipt_SYSRQ, ipmi, psu.

Как перезагрузить сервер? — Это вопрос, который обычно задают ну очень начинающим пользователям, которые путаются между halt, shutdown -r, reboot, init 6 и т.д.

Опытный администратор уточнит вопрос: «а что с сервером не так?» Разные виды отказов серверов требуют разных видов ребута — и неверно выбранный вариант приведёт к тяжелейшим последствиям, из которых визит в веб-морду IPMI/DRAC/iLO с целью «доперезагрузить» будет самым лёгким. Самым тяжёлым в моей личной практике была командировка эникейщика в соседний город. С целью «нажать ребут» на одиноко стоящем сервере.

В этой статье: что мешает серверу перезагрузиться и как ему помочь.

Начнём с теории ребута.

При выключении или перезагрузке сервера менеджер инициализации (в большинстве современных дистрибутивов — systemd, в эксцентричной Ubuntu 14.04 до сих пор upstart, в архаичном хламе — sysv-init) в определённом порядке посылает всем демонам команду «выключись». И большинство демонов (например, СУБД, вроде mysql) знают, как выключаться правильно. Например, закончить все транзакции, сохранить все несохранённые данные на диск и т.д. Для in-memory СУБД, наподобие redis, это и вовсе может быть критичным: не сохранил — потерял.

Старые системы иницализации ждали неограниченно долго каждый из инит-скриптов. Например, если «шутник» добавил вам в «stop» веточку «sleep 3600», то ваш сервер будет перезагружаться час с хвостиком. А если там цифра поболе, или просто программа, которая не хочет завершаться, то и ребут никогда не закончится. Новые системы инициализации (собственно, не стесняемся — остался только systemd) дают некий таймаут (обычно 120 или 180 секунд) на сохранение данных, после чего завершают процесс силком. Помимо остановки демонов, отмонтируются файловые системы (то есть скидываются все блочные кеши), останавливаются iscsi target'ы (тоже с скидыванием кеша), и т.д. и т.п. При том, что время шатдауна получается неопределённо долгим, оно всё таки конечно. Плюс, есть хоть какая-то надежда на правильное завершение всех демонов, скидывание файловых кешей и т. д.

Таким образом, на здоровой системе правильный ответ на вопрос «как перезагрузиться» — выполнить команду reboot. В ряде случаев — даже единственный правильный (поправка: если в графическом интерфейсе сделать «reboot», то desktop environment будет думать, что это ребут аварийный — для перезагрузки из графического режима надо использовать «reboot» в интерфейсе DE).

Что может пойти не так при «обычном ребуте»? Ну, во-первых, какой-то из процессов-демонов может начать «тупить» — см выше.

Во-вторых, может возникнуть проблема с отмонтированием файловых систем. Считается, что достаточно «убить» все процессы, и отмонтировать диск будет легко — его же никто не использует. Но, это, мягко говоря, не так. Вот потенциальные методы «прибить fs гвоздями так, чтобы не отмонтировалось:

и т.д. Вкратце: файл может быть занят не только файловой системой, но и ядром. А модуль в ядре может быть занят поиском ответов на смысл жизни и не иметь намерений освобождать ресурс.

Чем это чревато? Неотмонтированной файловой системой. Systemd в этой ситуации пытается-пытается, да и бросает (неотмонтированную файловую систему). То есть reboot в этой ситуации будет ОЧЕНЬ долгим, но всё-таки пройдёт. Но это если umount вернёт ошибку.

А бывает так, что umount не может завершить операцию из-за того, что что-то не доступно. Например, файл на nfs-сервере. Если какой-то процесс обратится к такому файлу, то его завершить нельзя (даже с помощью kill -9). И в этой ситуации 'reboot' просто завесит сервер. Опять же, наиболее типовые места у systemd „прикрыты“, но вероятность наткнуться на TASK_UNINTERRUPTIBLE ('D' в ps aux) всё равно можно. Что делать? Можно перезагрузиться без синхронизации файловых систем и завершения чего-либо reboot -f. Но он тоже может повиснуть. Про причины ниже, а пока про последствия: все процессы не остановлены и умирают мгновенно, tcp сессии не закрыты, дисковые кеши не сброшены. Однако, ядро всё-таки выполняет какие-то движения в районе ребута (и, возможно, часть кешей будет сброшена). Главное же — в процессе ребута будет задействована большая часть ядра. И это означает, что если ядру поплохело, то мы можем и не вернуться обратно.

Вторая, крайне неприятная ситуация: проблемы с файловой системой на / (в корне). Любая попытка сделать ls, grep, и даже 'reboot' вызывает либо зависание консоли, либо ошибку. По той же категории проходят проблемы с libc (включая её удаление), когда на попытку 'reboot' говорят о проблеме линковки и отказываются что-то делать. Или, мы достигли лимита на число pid'ов и все они в 'D' стейт. или ещё какая-то гадость того же калибра, идущая по категории „серверу плохо“.

Бывает так, что на сервер осталась открыта только одна консоль (а вторая уже не открывается). Почему? Потому что кто-то что-то подхимичил с драйвером дисков. Или рейд-контроллером. Или ещё чем-то, после чего от '/' остаются только воспоминания в дисковом кеше. Это означает, что у нас есть только команды bash'а (встроенные), которые выполняются без запуска новых процессов.

Существует метод перезагрузки, который не требует выполнения каких-либо исполняемых файлов (т.е. чтения с отсутствующего диска). Это (от рута): echo b >/proc/sysrq-trigger. Файл sysrq-trigger позволяет „нажать“ любую кнопку из SysRq комбинаций (аварийные кнопки ядра). В том числе и SysRq-b, то есть аварийный „reboot“. Часто бывает так, что после нажатия enter даже не успевает появиться перевод строки — сервер уже в ребуте до того, как syscall вернулся. Это самое сильное из софтового, что есть для ребута.Замечание: кажующееся правильным в этой ситуации „sync, reboot“, т.е. SysRq-s, SysRq-B это ошибка, т.к. после SysRq-S, ядро может попытаться начать общаться с пустым множеством, и, потенциально, упасть в панику или отломать вам последнюю из доступных консолей. Если делается аварийный ребут — он должен быть аварийным

Это всё работает, если у вас есть консоль на сервер. А если логин виснет и открытой консоли нет? Есть модуль ipt_SYSRQ, позволяющий выполнить sysrq запросы по получению определённого сетевого пакета (точнее, по правилу iptables). Работает целиком в ядре, т.е. от FS не зависит. К нему же прилагается команда send_sysrq.

Можно было бы подумать, что на этом „всё“, но бывают ещё более неприятные зависания. Например, зависла сетевая карта. И обычный reboot (в т.ч. через sysrq) не помогает. Вторым примером таких плохой ситуации бывает зависание enclosure, которая залипла на плохом диске и игнорирует все bus reset. Перезагрузка вроде бы всё сбрасывает, а диски недоступны.

В этом случае нам нужен power cycle (включить/выключить). Физически бегать к серверу не интересно, так что можно посмотреть на возможности современных серверов: IPMI. Это встренный микрокомпьютер, позволяющий управлять „большим“ компьютером. Он обычно называется IPMI, DRAC, iLO, etc.

Интресующая нас команда: ipmitool chassis power cycle. Она более требовательна к работоспособности системы (должны быть загружены модули ядра, сам ipmitool должен успешно запуститься, ipmi должен быть рабочим и т.д.). Но зато она позволяет передёрнуть по питанию всех. Точнее, почти всех — если у сервера есть jbod'ы, то до них эта команда не доходит. Но, всё-таки, это очень добротный и хороший ребут.

Если ядру совсем поплохело, то команду можно выполнить и удалённо (ipmitool -H ipmi.server.local chassis power cycle)

Ещё одна сложная ситуация — когда завис ipmi. Если система при этом более-менее жива, то можно „перезагрузить ipmi“: ipmitool mc reboot hard. После этого можно будет сделать power cycle для шасси. Звучит странно, но я несколько раз в жизни „вытаскивал“ сервер в нормальный ребут именно такой последовательностью. (После mc reboot hard надо дать пару минут на загрузку BMC).

Следующая точка „боли“ — это зависающие блоки питания. Да, такое бывает. Баги в прошивке блоков питания исправляют, их нужно прошивать. Разумеется, любые мягкие ребуты (такие как ipmi power cycle) в этой ситуации не работают. Нужно либо физически тыкать кабель, либо передёргивать питание удалённо. В этой ситуации помогает IP-розетка.

Выглядит это примерно так (фрагмент панели управления для servers.com/servers.ru): Очевидно, в этих условиях ребут пройдёт по очёнь жёсткому сценарию, но точно пройдёт.

Краткая выжимка
Нормальная работа reboot
проблемы с софтом reboot -f
проблемы с ядром/маунтами/libc echo b>/proc/sysrq-trigger
проблемы с ядром/маунтами/libc и нет открытой консоли ipt_SYSRQ (надо подготовить заранее)
проблемы с ядром/железом ipmitool chassis power cycle
проблемы с ядром/железом без открытой консоли ipmitool -H ipmi.server.local chassis power cycle
проблемы с автономной периферией/БП/ipmi ребут через IP-розетку

habr.com

linux - перезапустить веб-сервер linux с помощью ssh

Я закрыл свой linux-сервер с помощью команды ssh

~# shutdown -h now

как я могу снова перезапустить сервер. Я пробую разные вещи, но они не помогают. Как перезапустить использование ssh.

источник поделиться

Вы выключили компьютер, его нельзя перезапустить из SSH. если он не поддерживает Wake from Lan.

Если вы хотите только перезапустить веб-сервер, используйте

apachectl restart

ответ дан Nasreddine 22 окт. '11 в 12:32 источник поделиться

reboot

или если вы хотите перезапустить только apache, тогда

/etc/init.d/apache2 restart

и если вы хотите завершить работу, то вместо shutdown -h now вы можете просто использовать poweroff

ответ дан kubal5003 22 окт. '11 в 12:30 источник поделиться

Вы отключили свой сервер. Если сервер не поддерживает параметр wake from lan, вы не сможете его удаленно отключать.

Чтобы перезагрузить сервер, используйте команду reboot через ssh.

ответ дан bbaja42 22 окт. '11 в 12:32 источник поделиться

Это зависит от того, какой сервер он и какие у вас есть средства удаленного доступа. Если вы лично не создали (или своих коллег) сервер, вы должны связаться с тем, кто это сделал, и спросить их, как это сделать.

Возможно, они могут взимать плату за эту услугу "удаленные руки", если ей приходится физически обращаться к ней (NB: перезагрузка часто обрабатывается отдельной системой, у многих выделенных провайдеров есть свои собственные системы для удаленного управления PDU и т.д. Виртуализованная сервер, возможно, не нуждается в запросе удаленных рук для перезагрузки, поскольку он может обрабатываться интерфейсом управления гипервизором, к которому у вас может быть некоторый доступ).

ответ дан MarkR 23 окт. '11 в 0:31 источник поделиться

Извините, я не могу сообщить, как удаленно включать сервер. Но если вы спросите, как перезагрузить его в следующий раз, используйте "shutdown -r now"

источник поделиться

Другие вопросы по меткам linux ubuntu

qaru.site

Хитрости командной строки linux. Часть 3

Запуск Команд на Удаленном Linux Сервере через SSH

Выполнение Команд на Удаленном Linux Сервере

$ ssh [user]@[server] ‘[command]’

Узнать uptime удаленного сервера

$ ssh root@192.168.1.1 ‘uptime’

Перезагрузить удаленный сервер

$ ssh root@192.168.1.1 ‘reboot’

Запуск Нескольких Команд через SSH

СПОСОБ 1 :

$ ssh [user]@[server] ‘[command 1]; [command 2]; [command 3]’

Узнать Uptime и Disk Usage

$ ssh root@192.168.1.1 ‘uptime; df -h’

СПОСОБ 2 :

$ ssh [user]@[server] ‘[command 1] | [command 2] | [command 3]’

Узнать Memory Usage и Load Average

$ ssh root@192.168.1.1 ‘free -m | cat /proc/loadavg’

СПОСОБ 3 :

$ ssh [user]@[server] << EOFcommand 1command 2command 3EOF

Показать Версию Ядра, информацию о CPU и кол-во RAM

$ ssh root@192.168.1.1 << EOFuname -agrep «model name» /proc/cpuinfogrep MemTotal /proc/meminfoEOF

Выполнение Локального Скрипта на Удаленном Linux Сервере

$ ssh [user]@[server] ‘bash -s’ < [local_script]

Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине

$ ssh root@192.168.1.1 ‘bash -s’ < local_script.sh

Долгое Подключение по SSH — Убираем Задержку

Проблема : При подключении к серверу по SSH, после того как я ввел Логин, приглашение для ввода Пароля появляется только через длительный промежуток времени (до 30 секунд). Как убрать задержку и увеличить скорость подключения?

Решение : В большинстве случаев, длительная задержка при подключении вызвана использованием метода аутентификации «GSS API» и/или опцией «UseDNS». Решение проблемы заключается в отключении GSSAPIAuthentication и установкой опции UseDNS в значение «no» на SSH Сервере.

Откройте файл настроек SSH Сервера :

# vi /etc/ssh/sshd_config

UseDNS : Выполнять ли запросы DNS для получения имени удалённого хоста для того чтобы убеждаться в том, что обратное преобразование выдаёт тот же самый IP-адрес. Значение по умолчанию «yes».

Установите UseDNS в значение «no», как показано ниже :

UseDNS no

GSSAPIAuthentication : Допускать аутентификацию по GSSAPI. Значение по умолчанию «no».

Установите GSSAPIAuthentication в значение «no» :

GSSAPIAuthentication no

Перезапустите OpenSSH сервер для применения изменений

Для Fedora/Centos/RHEL и т.п. :# service sshd restartДля Debian/Ubuntu/LinuxMint и т.п. :# sudo service ssh restart

Теперь Вы сможете подключаться к Вашему Серверу по SSH намного быстрее.

Установить Предупреждающее Сообщение (Баннер) в SSH

Предупреждающие баннеры и приветственные сообщения в SSH необходимы тогда, когда организация хочет предупредить о судебном преследовании несанкционированных пользователей или просто дать некоторую информацию или объявление.

Показываем Предупреждающее Сообщение ПЕРЕД входом по SSH

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

Предупреждающее сообщение SSH обычно находится в файлах ‘/etc/issue’ и ‘/etc/issue.net’, но можно указать и свой файл, например ‘/etc/ssh/sshd-banner’. Содержимое указанного файла показывается пользователям перед аутентификацией.

Создадим файл с SSH баннером :$ vi /etc/ssh/sshd-bannerВставим в него текст с предупреждением :WARNING : Unauthorized access to this system is forbidden and will be prosecutedby law. By accessing this system, you agree that your actions may be monitored ifunauthorized usage is suspected.Откроем файл конфигурации SSH сервера :$ vi /etc/ssh/sshd_configУкажем путь к нашему баннеру :Banner /etc/ssh/sshd-bannerСохраним изменения и перезапустим sshd :$ service sshd reload

Показываем Приветствие ПОСЛЕ входа по SSH

Содержимое файла ‘/etc/motd’ отображается после успешного входа в систему, но перед появлением командной строки. Он используется для отображения системных объявлений или другой важной информации, которую мы хотим чтобы вошедшие пользователи узнали до начала работы.

Отредактируем файл ‘/etc/motd’ :$ vi /etc/motdПоместим в него объявление для пользователей и сохраним изменения.

Теперь это сообщение будет показываться пользователям каждый раз, после входа в систему через SSH.

Быстрое Подключение с SSH Алиасами

Если Вам необходимо регулярно подключаться по SSH к большому количеству разных серверов, этот трюк специально для Вас.

Редактирование файл конфигурации SSH и добавление SSH алиасов, сделают процесс удаленного подключения намного быстрее и удобнее.

Редактируем файл конфигурации SSH для текущего пользователя :$ vi ~/.ssh/configлибо редактируем основной конфигурационный файл, если хотим сделать этот алиас доступным для всех пользователей :$ vi /etc/ssh/ssh_configДобавляем следующие строки :

### Алиасы для быстрого подключения ### Host AliasName HostName 1.2.3.4 User YourUserName Port YourSSHPort

Где :

Теперь мы можем подключаться к удаленному серверу используя простой алиас :$ ssh AliasName

Бэкап Сайта по FTP с помощью Wget

Прежде всего необходимо создать папку в которую мы зальем сайт. Например создадим папку backups в домашней директории.# mkdir ~/backups# cd ~/backups

Скачать Весь Сайт по FTP

Следующая команда рекурсивно скачивает Ваш сайт, вместе со всеми файлами и папками, с FTP сервера и сохраняет их в текущей директории.# wget -r -l 0 -nH ftp://user:pass@ftp.server.com

Опция Описание
user Имя FTP пользователя
pass Пароль для FTP
ftp.server.com IP адрес или доменное имя FTP сервера
-r, —recursive Рекурсивное извлечение
-l, —level Максимальная глубина рекурсии (0 = неограниченная)
-nH, —no-host-directories Не создавать папку с название FTP сервера

Ваш сайт скачен :# ls -ldrwxr-xr-x 4 user group 4096 2013-05-09 18:20 yoursite.com

Резервное Копирование Сайта

Теперь создадим архив папки с сайтом :# tar -czf site-backup-$(date +%Y%m%d-%H%M%S).tar.gz yoursite.comПредыдущая команда создает архив с название, основанным на текущем времени. Что-то вроде site-backup-20130509-190638.tar.gz.

Для извлечения архива выполните :# tar -zxvf site-backup-20130509-190638.tar.gz

Скачать Определенную Папку с FTP

Допустим, в нашей домашней папке на FTP сервере имеется следующая структура каталогов :

/yoursite.com/www/images

Приведенная ниже команда рекурсивно скачает папку ‘images’ со всем ее содержимым с FTP сервера и сохранит ее в текущей директории.# wget -r -l 0 -nH -np —cut-dirs=2 ftp://user:pass@ftp.server.com/yoursite.com/www/images

Опции Описание
-np, —no-parent Не подниматься в родительские каталоги
—cut-dirs Игнорировать ‘определенное число’ родительских директорий

Все эти задачи должны быть автоматизированны и добавлены в Cron.

10 Примеров : Копирование файлов через SSH

SCP (Secure CoPy) — программа для удаленного копирования фалов по сети между хостами.

Она использует SSH для передачи данных, ту же аутентификацию и те же меры безопасности, что и SSH.

Во время копирования исходного фала в файл назначения, который уже существует, SCP перезаписывает файл назначения. Если файл назначения еще не существует, тогда создается пустой файл, ему задается имя файла назначения и уже в него записывается содержимое копируемого файла.

Пример 1 : Копируем файл «file.txt» из удаленного сервера на локальный компьютер.$ scp user@remote.host:file.txt /some/local/directoryПример 2 : Копируем файл «file.txt» с локального компьютера на удаленный сервер.$ scp file.txt user@remote.host:/some/remote/directoryПример 3 : Копируем папку «dir1» с локального хоста в директорию «dir2» на удаленном хосте.$ scp -r dir1 user@remote.host:/some/remote/directory/dir2Пример 4 : Копируем файл «file.txt» с одного удаленного сервера «remote.host1» на другой удаленный сервер «remote.host2».$ scp user@remote.host1:/directory/file.txt user@remote.host2:/some/directory/Пример 5 : Копируем файлы «file1.txt» и «file2.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере.$ scp file1.txt file2.txt user@remote.host:~Пример 6 : Копируем файл «file.txt» с локального хоста на удаленный хост, используя порт 2222.$ scp -P 2222 file.txt user@remote.host:/some/remote/directoryПример 7 : Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Сохраняем время изменения и время доступа и права копируемого фала.$ scp -p file.txt user@remote.host:~Пример 8 : Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Увеличиваем скорость работы SCP изменяя алгоритм шифрования с AES-128 (по умолчанию) на Blowfish.$ scp -c blowfish file.txt user@remote.host:~Пример 9 : Копируем файл «file.txt» с локального компьютера в Ваш домашний каталог на удаленном сервере. Ограничиваем ширину канала используемого командой SCP до 100 Kbit/s.$ scp -l 100 file.txt user@remote.host:~Пример 10 : Копируем несколько файлов с удаленного хост в текущую директорию на Вашем локальном хосте.$ scp user@remote.host:~/\{file1,file2,file3\} .

xakinfo.ru