Centos 7 ssh установка и настройка
Впервые заходя на новый виртуальный выделенный сервер, необходимо выполнить несколько действий, которые повысят его безопасность. В данном руководстве речь пойдет о том, как создать нового пользователя, передать ему соответствующие привилегии и настроить SSH.
1: Войдите как root-пользователь
Получив свой IP-адрес и root-пароль, войдите на сервер как главный пользователь (root). Для этого используйте команду (замените выделенный IP своим IP-адресом):
ssh root@ 111.22.33.444
Терминал вернет что-то вроде:
The authenticity of host '111.22.33.444 (111.22.33.444)' can't be established.
ECDSA key fingerprint is 79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0.
Are you sure you want to continue connecting (yes/no)?
Выберите yes и введите свой root-пароль.
Примечание: использовать учетную запись root на регулярной основе не рекомендуется; данное руководство поможет создать другого пользователя для постоянной работы.
2: Измените пароль
3: Создайте нового пользователя
Войдя на сервер и изменив root-пароль, нужно снова войти на VPS как root. Данный раздел продемонстрирует, как создать нового пользователя и установить пароль для него.
Итак, создайте нового пользователя; для этого используйте следующую команду (замените demo своим именем пользователя):
Теперь создайте пароль для этого пользователя (опять же, замените demo именем только что созданного пользователя):
4: Root-привилегии
На данный момент все права администратора принадлежат root-пользователю. Чтобы иметь возможность постоянно использовать новую учетную запись, нужно передать новому пользователю (demo) все root-привилегии.
Для выполнения задач с привилегиями root нужно начинать команду с sudo. Эта фраза полезна по двум причинам: 1) она защищает систему от разрушающих ошибок, допущенных пользователем; 2) она хранит все запущенные с sudo команды в файле /var/log/secure, который позже можно просмотреть.
Теперь нужно изменить настройки sudo; для этого используйте текстовый редактор CentOS по умолчанию, который называется vi:
Найдите раздел User privilege specification, который выглядит так:
После строки с привилегиями root внесите следующую строку, которая передаст все привилегии новому пользователю (чтобы начать ввод текста в vi, нажмите i):
demo ALL=(ALL) ALL
Чтобы завершить ввод текста, нажмите Esc; затем введите :, wq, Enter, чтобы сохранить и закрыть файл.
5: Настройте SSH (дополнительно)
Теперь нужно обезопасить сервер. Этот дополнительный раздел расскажет, как защитить сервер путем усложнения процедуры авторизации.
Откройте конфигурационный файл:
sudo vi /etc/ssh/sshd_config
Найдите следующие разделы и внесите в них соответствующие изменения:
Port 25000
PermitRootLogin no
Port: хотя по умолчанию используется порт 22, его номер можно заменить любым другим в диапазоне от 1025 до 65536. В данном руководстве используется SSHD-порт 25000. Обратите внимание: новый номер порта нужно обязательно запомнить/записать, поскольку он понадобится для входа на сервер через SSH.
PermitRootLogin:измените значение yes на no, чтобы отключить вход в систему как root. Теперь войти на сервер можно только при помощи нового пользователя.
Чтобы SSH мог использовать только конкретный пользователь, добавьте эту строку в нижней части документа (замените demo своим именем пользователя):
Затем сохраните изменения и закройте файл.
Перезапуск SSH
Чтобы активировать внесенные изменения, перезапустите сервис SSHD:
sudo systemctl reload sshd.service
Чтобы протестировать новые настройки (пока что не выходите из учетной записи root), откройте терминал и войдите на сервер как новый пользователь (не забудьте указать правильный IP-адрес и порт):
ssh -p 25000 demo @ 111.22.33.444
Должно появиться извещение:
Теперь, когда сервер настроен должным образом, можно установить на него все необходимое ПО. Попробуйте, например, установить группы программ LAMP stack или LEMP stack, которые позволяют размещать сайты.
Процесс конфигурации индивидуален для каждого системного администратора, но все же имеется несколько пунктов, полезных для всех юзеров. В рамках данной статьи мы поговорим не только о серверной составляющей, но и о клиентской, а также укажем, на каком из устройств выполняется определенное действие.
Установка компонентов и запуск сервера
Мы уже сказали, что SSH по умолчанию добавлен в список системных библиотек CentOS 7, но иногда по некоторым причинам необходимые компоненты отсутствуют на компьютере. В таком случае их потребуется добавить, а затем активировать работу сервера.
После успешного произведения указанных выше инструкций можно смело переходить к началу конфигурации. Хотим обратить ваше внимание, что обязательно следует читать показанные на экране уведомления во время активации команд. Они могут свидетельствовать о возникновении определенных ошибок. Своевременное исправление всех неполадок поможет избежать дальнейших проблем.
Редактирование конфигурационного файла
Конечно, конфигурационный файл редактируется только на усмотрение системного администратора. Однако мы хотим показать, как его запустить в текстовом редакторе и на какие пункты следует сделать акцент в первую очередь.
-
Советуем использовать редактор nano, установить который в систему поможет команда sudo yum install nano . По завершении инсталляции запустите конфигурационный файл через sudo nano /etc/ssh/sshd_config .
Создание пары RSA-ключей
Криптографический алгоритм RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) используется сервисом SSH для создания пары ключей. Такое действие позволить максимально обезопасить клиентскую и серверную часть при проведении соединений. Задействовать придется обе цепи, чтобы создать пару ключей.
-
Для начала зайдите на клиентский компьютер и введите в консоли ssh-keygen .
При успешном выполнении указанного выше руководства появятся открытый и закрытый ключ, которые в дальнейшем будут задействованы для аутентификации с сервером. Однако для этого ключ нужно передать на сервер и отключить вход по паролю.
Копирование открытого ключа на сервер
Как уже было сказано выше, копирование ключа необходимо для дальнейшей безпарольной аутентификации. Сделать такое действие можно одним из трех способов, каждый из которых будет наиболее оптимальным в определенных ситуациях. Давайте рассмотрим все их по порядку.
Утилита ssh-copy-id
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 . Однако подключиться можно и через пароль, что понижает безопасность такой сети.
Отключение аутентификации по паролю
Отключение возможности входа по паролю, в обход ключа, делает такое удаленное соединение менее защищенным. Поэтому рекомендуется деактивировать эту функцию для предотвращения несанкционированной аутентификации со стороны злоумышленников.
-
На удаленном сервере запустите конфигурационный файл SSH через sudo nano /etc/ssh/sshd_config .
На этом статья, в которой вы были ознакомлены с основными конфигурационными моментами протокола SSH, подходит к концу. Настоятельно рекомендуем изучить содержимое выдачи после активации команд, поскольку там иногда содержатся описания ошибок. Их решение ищите в официальной документации инструмента или дистрибутива CentOS.
Отблагодарите автора, поделитесь статьей в социальных сетях.
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-ключей, позволяющая войти в систему без пароля учетной записи.
SSH (secure shell) — протокол для создания шифрованного соединения между клиентом и сервером. Благодаря этой технологии может осуществляться удаленное управление компьютером. Взаимодействие с утилитой происходит в терминале, а в операционную систему CentOS 7 она добавлена по умолчанию. Поэтому сегодня мы бы хотели детально рассмотреть стандартную процедуру настройки, которая будет полезна всем, кто собирается работать с SSH.
Процесс конфигурации индивидуален для каждого системного администратора, но все же имеется несколько пунктов, полезных для всех юзеров. В рамках данной статьи мы поговорим не только о серверной составляющей, но и о клиентской, а также укажем, на каком из устройств выполняется определенное действие.
Установка компонентов и запуск сервера
Мы уже сказали, что SSH по умолчанию добавлен в список системных библиотек CentOS 7, но иногда по некоторым причинам необходимые компоненты отсутствуют на компьютере. В таком случае их потребуется добавить, а затем активировать работу сервера.
2. Подтвердите подлинность учетной записи суперпользователя, введя пароль. Учтите, что вводимые таким образом символы не отображаются в строке.
3. Запустите проверку конфигурации командой
4. Затем запустите сам сервис SSH, указав
5. Осталось только проверить, что задействованный по умолчанию порт открыт. Для этого используйте строку
После успешного проведения указанных выше инструкций можно смело переходить к настройкам. Хотим обратить ваше внимание, что обязательно следует читать показанные на экране уведомления во время активации команд. Они могут свидетельствовать о возникновении определенных ошибок. Своевременное исправление неполадок поможет избежать дальнейших проблем.
Редактирование конфигурационного файла
Конечно, конфигурационный файл редактируется только на усмотрение системного администратора. Однако мы хотим показать, как его запустить в текстовом редакторе и на какие пункты следует сделать акцент в первую очередь.
Редактированием конфигурационного файла изменяется много параметров, но основной процесс — добавление и настройка ключей — производится с помощью специальных команд, о чем мы и хотим поговорить далее.
Создание пары RSA-ключей
Криптографический алгоритм RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) используется сервисом SSH для создания пары ключей. Такое действие позволить максимально обезопасить клиентскую и серверную часть при проведении соединений. Задействовать придется обе цепи, чтобы создать пару ключей.
- Для начала зайдите на клиентский компьютер и введите в консоли
ssh-keygen . - После активации появится новая строка, где будет предложено указать путь для сохранения ключа. Если хотите оставить расположение по умолчанию, не вводите ничего, а просто нажмите на клавишу Enter.
- Далее создается парольная фраза. Она обеспечит защищенность от несанкционированного входа в систему. После создания пароля его потребуется повторить.
- На этом процедура генерации завершена. На экране вы увидите сам ключ и случайное изображение, присвоенное ему.
При успешном выполнении указанного выше руководства появятся открытый и закрытый ключ, которые в дальнейшем будут задействованы для аутентификации с сервером. Однако для этого ключ нужно передать на сервер и отключить вход по паролю.
Копирование открытого ключа на сервер
Как уже было сказано выше, копирование ключа необходимо для дальнейшей безпарольной аутентификации. Сделать такое действие можно одним из трех способов, каждый из которых будет наиболее оптимальным в определенных ситуациях. Давайте рассмотрим все их по порядку.
Утилита 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 .
Однако подключиться можно и через пароль, что понижает безопасность такой сети.
Отключение аутентификации по паролю
Отключение возможности входа по паролю, в обход ключа, делает такое удаленное соединение менее защищенным. Поэтому рекомендуется деактивировать эту функцию для предотвращения несанкционированной аутентификации со стороны злоумышленников.
- На удаленном сервере запустите конфигурационный файл SSH через
sudo nano /etc/ssh/sshd_config . - Отыщите параметр «PasswordAuthentication» и измените значение на no .
- Сохраните изменения и завершите работу в текстовом редакторе.
- Новый параметр вступит в силу только после перезагрузки сервиса
sudo systemctl restart sshd.service .
На этом статья, в которой вы были ознакомлены с основными конфигурационными моментами протокола SSH, подходит к концу. Настоятельно рекомендуем изучить содержимое выдачи после активации команд, поскольку там иногда содержатся описания ошибок. Их решение ищите в официальной документации инструмента или дистрибутива CentOS.
В этой статье мы расскажем, как пошагово происходит настройка SSH в CentOS.
SSH ― это протокол безопасного удалённого доступа, который позволяет пользователю управлять и вносить изменения на его удалённый сервер через интернет.
Чтобы получить доступ по SSH, нужно вводить пароль при каждом подключении к серверу. Это неудобно, если вы подключаетесь к серверу часто. Чтобы можно было входить в систему без пароля, на удалённом сервере должна быть настроена аутентификация (вход) с помощью ключей SSH.
Облачные серверы нового поколения
Виртуализация KVM, почасовая оплата, резервные копии, готовые шаблоны, 10 доступных ОС на выбор!
Этап 1. Создание ключей
Для аутентификации на сервере нужно создать пару SSH-ключей — открытый и закрытый.
Создайте пару ключей:
Появится строка, в которой нужно указать путь хранения ключа. Введите путь или оставьте путь по умолчанию. Нажмите Enter:
Создайте надёжный пароль для учётной записи:
На экране появится ключ и его изображение:
CentOS install SSH
Готово, вы создали открытый и закрытый ключи. Теперь для входа в систему с помощью SSH-ключей нужно разместить открытый ключ на сервере и отключить аутентификацию (вход) по паролю.
Этап 2. Копирование открытого ключа на сервер
Копировать ключ на сервер можно двумя способами:
- с помощью утилиты ssh-copy-id,
- с помощью SSH.
Способ 1. Копирование открытого ключа с помощью утилиты ssh-copy-id
Копирование открытого ключа через утилиту ssh-copy-id ― самый быстрый и удобный способ.
- username — логин пользователя,
- IP — IP-адрес сервера.
Готово, вы скопировали открытый ключ на сервер.
Способ 2. Копирование открытого ключа с помощью SSH
Перед началом этих действий надо выполнить подключение по SSH обычным способом (через пароль) и произвести запуск удалённого соединения.
CentOS 7 SSH установка и настройка
Введите пароль от учётной записи и нажмите Enter.Готово, вы скопировали открытый ключ на сервер.
Этап 3. Отключение аутентификации по паролю
Убедитесь, что вы настроили вход с помощью SSH-ключей для учётной записи root на сервере.Откройте файл конфигурации демона SSH:
Найдите в файле директиву PasswordAuthentication. Установите значение no:
Читайте также: