Вступление
Когда вы впервые создаете новый сервер Debian 8, есть несколько шагов по настройке, которые вы должны предпринять на ранних стадиях как часть базовой установки. Это повысит безопасность и удобство использования вашего сервера и даст вам прочную основу для последующих действий.
Шаг первый - Root Login
Чтобы войти на свой сервер, вам необходимо знать общедоступный IP-адрес вашего сервера и пароль учетной записи «root». Если вы еще не вошли в систему на своем сервере, вы можете воспользоваться первым учебным пособием в этой серии: https://www.digitalocean.com/community/tutorials/how-to-connect-to-your-droplet-with- ssh [Как подключиться к вашей капле с помощью SSH], которая подробно описывает этот процесс.
Если вы еще не подключены к своему серверу, войдите в систему как пользователь + root +
, используя следующую команду (замените выделенное слово публичным IP-адресом вашего сервера):
ssh root@
Завершите процесс входа в систему, приняв предупреждение о подлинности хоста, если оно появилось, а затем предоставив свою корневую аутентификацию (пароль или закрытый ключ). Если вы впервые заходите на сервер с паролем, вам также будет предложено изменить пароль root.
О корне
Пользователь root - это администратор в среде Linux с очень широкими привилегиями. Из-за повышенных привилегий учетной записи root, вы фактически лишены возможности использовать ее на регулярной основе. Это связано с тем, что часть полномочий, присущих учетной записи root, заключается в способности вносить очень разрушительные изменения даже случайно.
Следующим шагом является создание альтернативной учетной записи пользователя с ограниченной областью влияния для повседневной работы. Мы научим вас, как получить повышенные привилегии в те времена, когда они вам нужны.
Шаг второй - Создать нового пользователя
После того как вы вошли как + root +
, мы готовы добавить новую учетную запись пользователя, которую мы будем использовать для входа в систему с этого момента.
В этом примере создается новый пользователь с именем «demo», но вы должны заменить его на имя пользователя, которое вам нравится:
adduser
Вам будет задано несколько вопросов, начиная с пароля учетной записи.
Введите надежный пароль и, при желании, заполните любую дополнительную информацию, если хотите. Это не обязательно, и вы можете просто нажать «ENTER» в любом поле, которое вы хотите пропустить.
Шаг третий - корневые привилегии
Теперь у нас есть новая учетная запись пользователя с обычными привилегиями учетной записи. Однако иногда нам может потребоваться выполнить административные задачи.
Чтобы избежать необходимости выходить из нашего обычного пользователя и входить в систему как учетная запись root, мы можем настроить так называемые привилегии суперпользователя или привилегии root для нашей обычной учетной записи. Это позволит нашему обычному пользователю запускать команды с правами администратора, помещая слово + sudo +
перед каждой командой.
Установить судо
Debian 8 не поставляется с установленным + sudo +
, поэтому давайте установим его с помощью apt-get.
Сначала обновите индекс пакета apt:
apt-get update
Затем используйте эту команду для установки sudo:
apt-get install sudo
Теперь вы можете использовать команды + sudo +
и + visudo +
.
Предоставление Судо привилегий
Чтобы добавить эти привилегии нашему новому пользователю, нам нужно добавить нового пользователя в группу «sudo». По умолчанию в Debian 8 пользователям, принадлежащим к группе «sudo», разрешено использовать команду «+ sudo +».
Как + root +
, запустите эту команду, чтобы добавить нового пользователя в группу sudo (замените выделенное слово новым пользователем):
usermod -a -G sudo
Теперь ваш пользователь может запускать команды с привилегиями суперпользователя! Для получения дополнительной информации о том, как это работает, ознакомьтесь с this пособие по sudoers.
Шаг четвертый - добавление аутентификации с открытым ключом (рекомендуется)
Следующим шагом в защите вашего сервера является настройка аутентификации с открытым ключом для вашего нового пользователя. Установка этого параметра повысит безопасность вашего сервера, поскольку для входа в систему требуется закрытый ключ SSH.
Генерация пары ключей
Если у вас еще нет пары ключей SSH, которая состоит из открытого и закрытого ключей, вам необходимо сгенерировать их. Если у вас уже есть ключ, который вы хотите использовать, перейдите к шагу Copy the Public Key.
Чтобы сгенерировать новую пару ключей, введите следующую команду на терминале вашей * локальной машины * (т.е. твой компьютер):
ssh-keygen
Предполагая, что ваш локальный пользователь называется «localuser», вы увидите вывод, который выглядит следующим образом:
ssh-keygen outputGenerating public/private rsa key pair.
Enter file in which to save the key (/Users//.ssh/id_rsa):
Нажмите return, чтобы принять это имя файла и путь (или введите новое имя).
Далее вам будет предложено ввести ключевую фразу для защиты ключа. Вы можете либо ввести кодовую фразу, либо оставить ее пустой.
-
Примечание: * Если вы оставите парольную фразу незаполненной, вы сможете использовать закрытый ключ для аутентификации без ввода парольной фразы. Если вы введете парольную фразу, вам понадобится как закрытый ключ _, так и парольная фраза для входа в систему. Защита ваших ключей с помощью парольных фраз более безопасна, но оба метода имеют свое применение и более безопасны, чем обычная аутентификация по паролю.
Это генерирует закрытый ключ + id_rsa +
и открытый ключ + id_rsa.pub +
в каталоге + .ssh +
домашнего каталога localuser. Помните, что закрытый ключ не должен передаваться тем, кто не имеет доступа к вашим серверам!
Скопируйте открытый ключ
После создания пары ключей SSH вы захотите скопировать ваш открытый ключ на ваш новый сервер. Мы рассмотрим два простых способа сделать это.
Вариант 1: использовать ssh-copy-id
Если на вашем локальном компьютере установлен скрипт + ssh-copy-id +
, вы можете использовать его для установки вашего открытого ключа любому пользователю, для которого у вас есть учетные данные для входа.
Запустите скрипт + ssh-copy-id +
, указав пользователя и IP-адрес сервера, на который вы хотите установить ключ, например:
ssh-copy-id @
После ввода пароля в приглашении ваш открытый ключ будет добавлен в файл + .ssh / authorized_keys +
удаленного пользователя. Соответствующий закрытый ключ теперь можно использовать для входа на сервер.
Вариант 2: вручную установить ключ
Предполагая, что вы сгенерировали пару ключей SSH с помощью предыдущего шага, используйте следующую команду на терминале вашего * локального компьютера *, чтобы напечатать ваш открытый ключ (+ id_rsa.pub +
):
cat ~/.ssh/id_rsa.pub
Это должно напечатать ваш открытый ключ SSH, который должен выглядеть примерно так:
id_rsa.pub contentsssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf [email protected]
Выберите открытый ключ и скопируйте его в буфер обмена.
Добавить открытый ключ к новому удаленному пользователю
Чтобы разрешить использование ключа SSH для аутентификации в качестве нового удаленного пользователя, необходимо добавить открытый ключ в специальный файл в домашнем каталоге пользователя.
-
На сервере * как пользователь
+ root +
введите следующую команду, чтобы переключиться на нового пользователя (подставьте свое имя пользователя):
su -
Теперь вы будете в домашнем каталоге вашего нового пользователя.
Создайте новый каталог с именем + .ssh +
и ограничьте его разрешения следующими командами:
mkdir .ssh
chmod 700 .ssh
Теперь откройте файл в .ssh с именем + authorized_keys +
в текстовом редакторе. Мы будем использовать nano для редактирования файла:
nano .ssh/authorized_keys
Теперь вставьте свой открытый ключ (который должен быть в вашем буфере обмена), вставив его в редактор.
Нажмите + CTRL-X +
, чтобы выйти из файла, затем + Y +
, чтобы сохранить внесенные изменения, затем + ENTER +
, чтобы подтвердить имя файла.
Теперь ограничьте права доступа к файлу authorized_keys с помощью этой команды:
chmod 600 .ssh/authorized_keys
Введите эту команду once, чтобы вернуться к пользователю + root +
:
exit
Теперь вы можете войти в систему как ваш новый пользователь, используя закрытый ключ в качестве аутентификации.
Чтобы узнать больше о том, как работает аутентификация по ключу, прочитайте это руководство: How Чтобы настроить аутентификацию на основе ключей SSH на сервере Linux.
Шаг пятый - Настройка SSH
Теперь, когда у нас есть новая учетная запись, мы можем немного обезопасить наш сервер, изменив конфигурацию его демона SSH (программы, которая позволяет нам входить удаленно), чтобы запретить удаленный доступ SSH к учетной записи * root *.
Начните с открытия файла конфигурации с вашим текстовым редактором с правами root:
nano /etc/ssh/sshd_config
Здесь у нас есть возможность отключить root-вход через SSH. Как правило, это более безопасный параметр, поскольку теперь мы можем получить доступ к нашему серверу через нашу обычную учетную запись пользователя и при необходимости повысить привилегии.
Чтобы отключить удаленный вход в систему, нам нужно найти строку, которая выглядит следующим образом:
/ etc / ssh / sshd_config (до)
#PermitRootLogin yes
Вы можете изменить эту строку на «нет» следующим образом, если вы хотите отключить root-логин:
/ etc / ssh / sshd_config (после)
PermitRootLogin no
Отключение удаленного входа в систему root настоятельно рекомендуется на каждом сервере!
Когда вы закончите вносить изменения, сохраните и закройте файл, используя метод, который мы использовали ранее (+ CTRL-X +
, затем + Y +
, затем + ENTER +
).
Перезагрузить SSH
Теперь, когда мы внесли изменения, нам нужно перезапустить службу SSH, чтобы она использовала нашу новую конфигурацию.
Введите это, чтобы перезапустить SSH:
systemctl restart ssh
Теперь, прежде чем мы выйдем из сервера, мы должны * протестировать * нашу новую конфигурацию. Мы не хотим отключаться, пока не сможем подтвердить, что новые подключения могут быть успешно установлены.
Откройте * новое * окно терминала. В новом окне нам нужно начать новое соединение с нашим сервером. На этот раз вместо использования учетной записи root мы хотим использовать созданную нами новую учетную запись.
ssh @
Вам будет предложено ввести пароль нового пользователя, который вы настроили. После этого вы будете авторизованы как новый пользователь.
Помните, что если вам нужно запустить команду с привилегиями root, наберите «sudo» перед этим так:
sudo
Если все хорошо, вы можете выйти из ваших сессий, набрав:
exit
Куда пойти отсюда?
На данный момент у вас есть прочная основа для вашего сервера Debian 8. Вы можете установить любое необходимое вам программное обеспечение на свой сервер сейчас.