Перезапуск sshd centos 7

Обновлено: 07.07.2024

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

До 15.04:

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

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

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

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

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

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

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

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

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

ответ дан Michael Martin-Smucker 27 November 2017 в 06:32

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

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

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

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

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

На рабочем столе Ubuntu:

Сначала проверьте статус службы:

enter image description here

должен показать: - Активно: активно (работает) Если она работает, в этом нет необходимости чтобы перезапустить его. Если вы все еще хотите перезапустить его, Ubuntu вызывает службу ssh, а не sshd.

Но если это не рабочий стол Ubuntu, с помощью интерфейса командной строки:

Служба также управляется выскочкой, а не sysvinit. Таким образом, вы найдете его в /etc/init/ssh.conf вместо /etc/init.d/ssh.

Если вы хотите изменить некоторые настройки (например, порт прослушивания и разрешение на вход root), отредактировав файл конфигурации с помощью команды:

На рабочем столе Ubuntu вы можете использовать gedit вместо nano:

enter image description here

Наконец, примените изменения, перезапустив или перезагрузив SSH:

Если описанное выше по-прежнему не работает, введите следующее:

Если все вышеперечисленное не помогло, попробуйте перезапустить систему ubuntu:

SSH, он же Secure Shell – это зашифрованный протокол, используемый для подключения к серверу и управления ним. При работе с сервером CentOS 7, вы, скорее всего, проведете большую часть времени в сеансе терминала, подключенного к серверу через SSH.

В этом мануале вы узнаете, как настроить ключи SSH на новом сервере CentOS 7.

SSH-ключи обеспечивают простой и безопасный способ входа на сервер и рекомендуются для всех пользователей.

1. Разрешение пользователю root заходить по SSH.

Внимание! В операционной системе CentOS 7 данная опция ВКЛЮЧЕНА уже по умолчанию и настраивать ее не нужно!

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

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

Теперь открываем настройки SSH:

и редактируем параметр PermitRootLogin — задаем значение yes :

Перезапускаем ssh server:

или в старых версиях без systemd :

2. Создание пары RSA-ключей.

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

После ввода команды ssh-keygen вы увидите следующий запрос:


Нажмите Enter, чтобы сохранить пару ключей в подкаталог .ssh/ в домашнем каталоге, или укажите альтернативный путь.

После этого вы увидите:


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

Вы увидите такой вывод:


В результате выполнения команды сгенерировалось 2 файла в каталоге

  • id_rsa.pub — публичный ключ;
  • id_rsa — секретный ключ.

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

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

3. Копирование открытого ключа на сервер.

Самый быстрый способ скопировать открытый ключ на хост – это использовать утилиту ssh-copy-id . Этот метод очень прост, потому используйте его, если у вас есть такая утилита. Если на вашем клиентском компьютере нет ssh-copy-id , вы можете использовать один из двух альтернативных методов, перечисленных в этом разделе ниже (копирование через парольную аутентификацию SSH или копирование ключа вручную).

3.1. Копирование ключа с помощью ssh-copy-id.

Инструмент ssh-copy-id включен по умолчанию во многие операционные системы, поэтому вы можете использовать его в своей локальной системе. Чтобы этот метод работал, у вас уже должен быть парольный доступ SSH к серверу.

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

Утилита использует такой синтаксис:

Вы увидите такой вывод:


Это означает, что ваш локальный компьютер не распознает удаленный хост. Это всегда происходит при первом подключении к новому хосту. Введите yes и нажмите Enter, чтобы продолжить.

Затем утилита сканирует локальную учетную запись, чтобы найти ключ id_rsa.pub .

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


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

/.ssh/id_rsa.pub в файл authorized_keys в домашнем каталоге

/.ssh удаленной учетной записи.

Вы увидите такой вывод:


На данный момент ваш ключ id_rsa.pub скопирован в удаленную учетную запись. Переходите к разделу 4.

3.2. Копирование открытого ключа по SSH.

Если у вас нет утилиты ssh-copy-id , но есть пароль SSH для доступа к учетной записи на сервере, вы можете загрузить свои ключи с помощью обычного подключения SSH.

Сделать это можно с помощью команды cat , которая прочитает содержимое файла открытого SSH-ключа на локальном компьютере, и конвейера, который передаст ключ через SSH-соединение.

После этого нужно убедиться, что каталог

/.ssh существует в удаленной учетной записи, а затем проверить его содержимое.

Команда выглядит так:

/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p

Вы можете увидеть такой вывод:


Это означает, что ваш локальный компьютер не распознает удаленный хост. Это происходит при первом подключении к новому хосту. Введите yes и нажмите Enter, чтобы продолжить.

После этого будет предложено ввести пароль учетной записи удаленного пользователя:

После ввода пароля содержимое ключа id_rsa.pub будет скопировано в конец файла authorized_keys учетной записи удаленного пользователя. Если все получилось, переходите к разделу 4.

3.3. Копирование открытого ключа вручную.

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

Любым доступным способом подключитесь к удаленному хосту.

Если у вас есть доступ к учетной записи на удаленном сервере, убедитесь, что каталог

/.ssh существует. При необходимости создайте его.

Переходим в режим пользователя root.

Создаем служебный каталог для ключей.

Вручную нужно вставить содержимое файла id_rsa.pub в файл

/.ssh/authorized_keys на удаленной машине.

Чтобы отобразить содержимое id_rsa.pub , введите на локальной машине:

Вы увидите такой ключ:

по смыслу это будет вид

Теперь вы можете создать или изменить файл authorized_keys в этом каталоге.

Вы можете добавить содержимое файла id_rsa.pub в конец файла authorized_keys с помощью этой команды:

Если файла authorized_keys не существует, команда создаст его.

В приведенной выше команде замените public_key_string выводом команды cat

/.ssh/id_rsa.pub в вашей локальной системе. Он должен начинаться с ssh-rsa AAAA… .

Настроим права доступа на систему ключей.

Выйдем из учетной записи root:

Теперь можно проверить аутентификацию без пароля на сервере.

4. Аутентификация по SSH-ключам.

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

Если вы впервые подключаетесь к этому хосту (если вы копировали ключ вручную), вы можете увидеть такое предупреждение:


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

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

Если вы создали парольную фразу, вам будет предложено ввести ее сейчас (обратите внимание, что вводимая вами фраза не будет отображаться в терминале из соображений безопасности). После аутентификации в новом сеансе оболочки вы получите доступ к удаленному пользователю.


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

5. Отключение парольной аутентификации.

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

Важно! Прежде чем выполнять этот раздел, убедитесь, что на этом сервере вы настроили аутентификацию на основе SSH-ключей для учетной записи root. Этот раздел заблокирует поддержку паролей для входа в систему, и вы можете случайно заблокировать себя на собственном сервере.

Убедившись, что ваша удаленная учетная запись имеет все необходимые привилегии, зайдите на свой удаленный сервер с помощью SSH-ключей (либо с правами администратора).

Затем откройте файл конфигурации демона SSH:

Внутри файла найдите директиву PasswordAuthentication . Она может быть закомментирована. Раскомментируйте строку и установите значение no .

Это отключит возможность входа в систему через SSH с использованием паролей учетных записей:

Сохраните и закройте файл. Чтобы обновить настройки, необходимо перезапустить сервис sshd:

В качестве меры предосторожности откройте новое окно терминала и проверьте работу сервиса SSH:

После того как вы подтвердите работу сервиса SSH, можете закрыть все текущие сеансы сервера.

Демон SSH теперь поддерживает только аутентификацию по SSH-ключам. Парольная аутентификация успешно отключена.

Заключение:

Теперь на вашем сервере настроена аутентификация на основе SSH-ключей, позволяющая войти в систему без пароля учетной записи.

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

До 15.04:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На рабочем столе Ubuntu:

Сначала проверьте статус услуги:

введите описание изображения здесь

должен показать: - Active: active (running) Если он работает, нет необходимости перезапускать его. Если вы все еще хотите перезапустить его, Ubuntu вызывает службу ssh, а не sshd.

Но если это не Ubuntu Desktop, используя CLI:

Сервис также контролируется выскочкой, а не sysvinit. Итак, вы найдете его в /etc/init/ssh.conf вместо /etc/init.d/ssh.

Если вы хотите изменить некоторые настройки (например, порт прослушивания и разрешение входа в систему root), отредактировав файл конфигурации с помощью команды:

На рабочем столе Ubuntu вы можете использовать gedit вместо nano:

введите описание изображения здесь

Наконец примените изменения, перезапустив или перезагрузив SSH:

Если выше все еще не работает тогда, напечатайте это:

Если все вышеперечисленное не работает, попробуйте перезапустить систему Ubuntu:


SSH (secure shell) — протокол для создания шифрованного соединения между клиентом и сервером. Благодаря этой технологии может осуществляться удаленное управление компьютером. Взаимодействие с утилитой происходит в терминале, а в операционную систему CentOS 7 она добавлена по умолчанию. Поэтому сегодня мы бы хотели детально рассмотреть стандартную процедуру настройки, которая будет полезна всем, кто собирается работать с SSH.

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

Установка компонентов и запуск сервера

Мы уже сказали, что SSH по умолчанию добавлен в список системных библиотек CentOS 7, но иногда по некоторым причинам необходимые компоненты отсутствуют на компьютере. В таком случае их потребуется добавить, а затем активировать работу сервера.

2. Подтвердите подлинность учетной записи суперпользователя, введя пароль. Учтите, что вводимые таким образом символы не отображаются в строке.

3. Запустите проверку конфигурации командой

4. Затем запустите сам сервис SSH, указав

5. Осталось только проверить, что задействованный по умолчанию порт открыт. Для этого используйте строку

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

Редактирование конфигурационного файла

Конечно, конфигурационный файл редактируется только на усмотрение системного администратора. Однако мы хотим показать, как его запустить в текстовом редакторе и на какие пункты следует сделать акцент в первую очередь.

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

Создание пары RSA-ключей

Криптографический алгоритм RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) используется сервисом SSH для создания пары ключей. Такое действие позволить максимально обезопасить клиентскую и серверную часть при проведении соединений. Задействовать придется обе цепи, чтобы создать пару ключей.

  1. Для начала зайдите на клиентский компьютер и введите в консоли
    ssh-keygen .
  2. После активации появится новая строка, где будет предложено указать путь для сохранения ключа. Если хотите оставить расположение по умолчанию, не вводите ничего, а просто нажмите на клавишу Enter.
  3. Далее создается парольная фраза. Она обеспечит защищенность от несанкционированного входа в систему. После создания пароля его потребуется повторить.
  4. На этом процедура генерации завершена. На экране вы увидите сам ключ и случайное изображение, присвоенное ему.

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

Копирование открытого ключа на сервер

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

Утилита ssh-copy-id

Копирование открытого ключа через утилиту ssh-copy-id — самый простой метод. Однако подойдет он только в том случае, когда на компьютере присутствует этот самый инструмент. Вам же нужно прописать всего одну команду
ssh-copy-id username@remote_host

, где username@remote_host — имя пользователя и хост удаленного сервера.


The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)?

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


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


Копирование открытого ключа по SSH

При отсутствии утилиты ssh-copy-id рекомендуем задействовать стандартные возможности инструмента SSH, если, конечно, у вас имеется доступ к серверной учетной записи. Выгрузка ключей производится посредством обычного подключения, а именно:

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

/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p

Ручное копирование открытого ключа

Иногда случаются ситуации, когда невозможно использовать утилиту ssh-copy-id, а также отсутствует доступ по паролю. Тогда копирование осуществляется вручную.

    Сперва узнайте этот ключ через уже знакомую команду cat, введя в консоли
    cat

На этом процедура копирования ключа успешно завершена. Благодаря этому теперь доступна аутентификация к серверу путем ввода
ssh username@remote_host .
Однако подключиться можно и через пароль, что понижает безопасность такой сети.

Отключение аутентификации по паролю

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

  1. На удаленном сервере запустите конфигурационный файл SSH через
    sudo nano /etc/ssh/sshd_config .
  2. Отыщите параметр «PasswordAuthentication» и измените значение на no .
  3. Сохраните изменения и завершите работу в текстовом редакторе.
  4. Новый параметр вступит в силу только после перезагрузки сервиса
    sudo systemctl restart sshd.service .

На этом статья, в которой вы были ознакомлены с основными конфигурационными моментами протокола SSH, подходит к концу. Настоятельно рекомендуем изучить содержимое выдачи после активации команд, поскольку там иногда содержатся описания ошибок. Их решение ищите в официальной документации инструмента или дистрибутива CentOS.

Читайте также: