Перезапустіть SSH на машині, де SSH - єдиний режим доступу


29

Я вніс деякі зміни у файл sshd_config, і тому мені потрібно перезапустити. Я шукаю поради щодо безпечного перезапуску ssh при отриманні фізичного доступу до сервера - це huga PITA.

Відповіді:


42

Перезапуск sshd під час входу через ssh не відключить ваше ssh-з'єднання.

Якщо ви турбуєтесь про свою конфігурацію, увійдіть кілька разів через ssh та перезапустіть. Якщо ви більше не можете ввімкнути новий сервіс, ви зможете вирішити проблеми.

Згадане нижче у коментарі @Milan Babuškov: sshd -tперевірить вашу конфігурацію на правильність синтаксису, якщо ви дійсно хочете бути впевненими.

Ще однією пропозицією @Ronald Pottol було встановити cronзавдання перезапустити сервер із відомою робочою конфігурацією. Можливо, надмірність, але якщо ви оновлюєте критичний сервер місії тощо ... іноді ви ніколи не можете бути занадто обережними.


Це досить легко, має сенс теж. Дякую за дійсно швидку відповідь. FYI зміни, які я робив, спрацювали чудово;)
Мітч


6

Якщо у вас є доступ до обладнання, ви можете поставити термінал на послідовний порт / dev / ttyS0. Тоді ви можете мати задню двері у свій сервер.

просто додати

SO:2345:respawn:/sbin/mingetty ttySO

до вашого / etc / inittab, і термінал породить ваш послідовний порт. Можна використовувати концентратор послідовного порту або використовувати нульовий модем із сервера поруч.


Класно! Це досить стандартна практика?
Мітч

3
Досить стандартний, якщо у вас є спосіб підключитися до машини, що є сервером послідовного терміналу.
Каміль Кісієль

2
Це може бути, але через віртуалізацію це не так потрібно, тому що ви можете керувати через Hypervisor. Ще одна прикольна річ, якщо BIOS підтримує це "Перенаправлення консолі", це покаже всі екрани BIOS через вашу послідовну консоль. GRUB також має можливість показу на послідовну консоль. Тому немає необхідності у віддаленому відео, щоб дізнатися, чи повернеться ваш сервер в Інтернет.
Кейтосу

4

Не хвилюйтесь, ваш поточний сеанс не буде відключений, навіть якщо є проблема з новою конфігурацією.

Застосувавши нову конфігурацію та перезапустивши sshd, спробуйте увійти в систему кілька разів та перегляньте журнали, щоб побачити, чи все в порядку.


3

Або скористайтеся кроном або на роботі, щоб розпочати його резервне копіювання, якщо ви відчуваєте себе невдало?


cronабо atбуде працювати, скопіювати "відомий" робочий стан, тобто стару конфігурацію, повернути назад, а потім зробити перезапуск послуги ...
cpbills

1

Не могли б ви просто запустити kill -HUP у PID служби SSH? Це не чисто, але це працює


2
Часто SIGHUP це чистий спосіб перезавантажити конфігурацію демона.
grawity

У цьому випадку це чисто. З авторитетного джерела: sshd читає файл конфігурації, коли отримує сигнал
зависання

1
pkill -HUP sshdзакрив мій зв’язок. Це спрацювало:kill -HUP $(pgrep -f /usr/bin/sshd)
Том Хейл

0

Я виявив, що нині sshdне відключає ваші сеанси при перезапуску, особливо коли це дистрибутив на основі Redhat. Ви завжди можете написати невеликий сценарій, який автоматично відновить вашу sshdконфігурацію з резервного копіювання та перезапустіть sshdчерез 5 хв як завдання cronчи atзавдання. Це забезпечить, що навіть якщо ви відключитесь, ви зможете повернутися як мінімум на свій сервер.


-1

Я б не рекомендував перезавантажувати / перезавантажувати SSHD на sshd-з'єднанні. Я бачив багато випадків, коли sshd просто не запускався б із резервної копії через синтаксичну помилку в sshd_config.

Незважаючи на те, що з конфігураційним файлом все нормально, це ризиковано.


9
Ви можете скористатися sshd -t для попереднього тестування конфігураційного файлу.
Мілан Бабушков

Спасибі Мілан, я швидко переглянув людину за такий варіант, як Apache - це так, що я, мабуть, був занадто зосереджений на -s.
Мітч

Я збираюся взяти ваш коментар до моєї відповіді, також коли sshd припиняється, це не збиває відкриті сеанси ssh, але добре знати, що ваш синтаксис є дійсним, якщо ви його потієте.
cpbills
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.