При создании нового сервера Debian 8, есть несколько шагов настройки, которые необходимо принимать на раннем этапе в рамках базовой установки. Это позволит повысить безопасность и удобство использования вашего сервера, и даст вам прочную основу для дальнейших действий.
Для того, чтобы войти на свой сервер, вам нужно знать общественный IP – адрес сервера и пароль для учетной записи пользователя “root”. Если вы еще не вошли на свой сервер, вы можете следовать учебнику как подключиться к серверу с помощью SSH.
Если вы еще не подключены к серверу, идти вперед и войдите в систему как пользователь root
, используя следующую команду (замените выделенное слово на IP адрес вашего сервера):
ssh root@SERVER_IP_ADDRESS
Завершив процесс входа в систему, приняв предупреждение о подлинности хоста, если он появится, то предоставление корневой аутентификации (пароль или ключ). Если вход ваш первый раз на сервер, с помощью пароля, вам также будет предложено изменить пароль.
Привилегированный пользователь является пользователь с правами администратора в среде Linux, который имеет очень широкие привилегии. Из-за возросшей привилегий корневой учетной записи, вам на самом деле не рекомендуется использовать его на регулярной основе. Это происходит потому, что часть привилегии, присущей корневой учетной записи является возможность сделать очень деструктивные изменения, даже случайно.
Следующим шагом является создание альтернативной учетной записи пользователя с уменьшенными привилегиями для повседневной работы. Мы научим вас, как получить повышенные привилегии, когда вы нуждаетесь в них.
После того, как вы вошли в систему с помощью root
, мы готовы, чтобы добавить новую учетную запись пользователя, которую мы будем использовать , чтобы войти с этого момента.
В этом примере создается новый пользователь с именем “demo”, но вы должны заменить его на имя пользователя, который вам нравится:
adduser demo
Вам будет предложено несколько вопросов, начиная с пароля учетной записи.
Введите надежный пароль и, при необходимости, заполните дополнительную информацию, если вы хотите. Это не требуется, и вы можете просто нажать “ENTER” в любой области, которую вы хотите пропустить.
Теперь мы имеем новую учетную запись пользователя с регулярными привилегиями учетной записи. Тем не менее, мы можем иногда выполнять административные задачи.
Чтобы избежать необходимости выйти из нашего обычного пользователя и снова войти в систему в качестве корневой учетной записи, мы можем установить пользователя, известного как “супер – пользователь” или корневые привилегии для нашей обычной учетной записи. Это позволит нашему обычному пользователю выполнять команды с правами администратора, поставив слово sudo
перед каждой командой.
Debian 8 не поставляется с установленным sudo
, так что давайте установить его с помощью apt-get.
Во-первых, обновим индекс пакетов:
apt-get update
Затем используйте эту команду, чтобы установить sudo:
apt-get install sudo
Теперь вы можете использовать команды sudo
и visudo
.
Чтобы добавить эти привилегии к нашему новому пользователю, нам нужно добавить нового пользователя в группу «sudo». По умолчанию в Debian 8, пользователи, принадлежащие к группе “sudo” разрешено использовать команду sudo
.
Как root
, запустите эту команду, чтобы добавить нового пользователя к группе sudo (замените выделенное слово новым пользователем):
usermod -a -G sudo demo
Теперь ваш пользователь может запускать команды с пользовательскими привилегиями!
Следующим шагом в обеспечении безопасности вашего сервера, это настроить проверку подлинность открытого ключа для нового пользователя. Установка этой программы позволит повысить безопасность вашего сервера, требуя секретный ключ SSH для входа в систему.
Если у вас еще нет пары ключей SSH, который состоит из открытого и секретного ключа, необходимо сгенерировать. Если у вас уже есть ключ, который вы хотите использовать, перейдите к шагу скопировать открытый ключ.
Для создания новой пары ключей, введите следующую команду в терминале вашей локальной машине (то есть вашего компьютера):
ssh-keygen
Предположим, что ваш локальный пользователь называется “localuser”, вы увидите вывод, который выглядит следующим образом:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):
Вернуться, принять это имя файла и путь к нему (или введите новое имя).
Далее, вам будет предложено ввести ключевую фразу, чтобы обеспечить ключ. Вы можете либо ввести ключевую фразу или оставьте пустым парольную фразу.
Это создает закрытый ключ id_rsa
и открытый ключ, id_rsa.pub
, в .ssh
домашней директории localuser’s. Помните, что закрытый ключ не должен использоваться совместно с кем – либо, кто не должен иметь доступ к серверам!
После генерации пары ключей SSH, вы хотите скопировать свой открытый ключ на новый сервер. Мы рассмотрим два простых способа сделать это.
Если ваша локальная машина имеет установленный скрипт ssh-copy-id
, вы можете использовать его, чтобы установить свой открытый ключ любому пользователю, который вы получили в учетных данных для входа.
Запустите скрипт ssh-copy-id
, указав пользователя и IP – адрес сервера, на который вы хотите установить ключ, так:
ssh-copy-id demo@SERVER_IP_ADDRESS
После предоставления пароля в командной строке, ваш открытый ключ будет добавлен к файлу удаленного пользователя .ssh/authorized_keys
. Соответствующий секретный ключ теперь может быть использован для входа на сервер.
Предполагая, что вы сгенерировали пару ключей SSH, используя предыдущий шаг, используйте следующую команду в терминале вашей локальной машине , чтобы напечатать ваш открытый ключ ( id_rsa.pub
):
cat ~/.ssh/id_rsa.pub
Это должно напечатать ваш публичный ключ SSH, который должен выглядеть следующим образом:
id_rsa.pub contents ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local
Выберите открытый ключ, и скопируйте его в буфер обмена.
Для того, чтобы разрешить использование ключа SSH для аутентификации в качестве нового удаленного пользователя, вы должны добавить открытый ключ в специальный файл в домашнем каталоге пользователя.
На сервере , как root
, введите следующую команду, чтобы перейти к новому пользователю (заменить собственное имя пользователя):
su - demo
Теперь вы будете в домашнем каталоге вашего нового пользователя.
Создайте новую папку с именем .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
Введите эту команду один раз, чтобы вернуться к пользователю root
:
exit
Теперь вы можете войти через SSH в качестве нового пользователя, с помощью закрытого ключа в качестве проверки подлинности.
Теперь, когда у нас есть наш новый аккаунт, мы можем обеспечить наш сервер немного изменяя его конфигурацию SSH – демоном (программа, которая позволяет нам войти в систему удаленно) , чтобы запретить удаленный доступ по SSH к корневой учетной записи.
Начните с открытия файла конфигурации с помощью текстового редактора в качестве root:
nano /etc/ssh/sshd_config
Здесь мы имеем возможность отключить корневой вход через SSH. Это, как правило, более безопасный параметр, так как теперь мы можем получить доступ к нашему серверу через нашей обычной учетной записи пользователя и повышения привилегий при необходимости.
Чтобы отключить удаленный корневой логин, нам нужно найти строку, которая выглядит следующим образом:
#PermitRootLogin yes
Вы можете изменить эту строку на “no”, если вы хотите отключить корневой логин:
PermitRootLogin no
Отключение удаленного корневого входа настоятельно рекомендуется на каждом сервере!
Когда вы закончите внесения изменений, сохраните и закройте файл, используя метод, который мы использовали ранее ( CTRL-X
, а затем Y
, потом ENTER
).
Теперь, когда мы сделали наши изменения, нам необходимо перезапустить службу SSH, так что он будет использовать нашу новую конфигурацию.
Введите эту функцию, чтобы перезапустить SSH:
systemctl restart ssh
Теперь, прежде чем выйти из системы сервера, мы должны проверить нашу новую конфигурацию. Мы же не хотим, отключиться , не подтвердив, что новые соединения могут быть успешно установлены.
Открыть новое окно терминала. В новом окне, мы должны начать новое соединение с нашим сервером. На этот раз, вместо того чтобы использовать корневую учетную запись, мы хотим использовать новую учетную запись, которую мы создали.
ssh demo@SERVER_IP_ADDRESS
Вам будет предложено ввести пароль нового пользователя, который был настроен. После этого вы войдете в систему в качестве нового пользователя.
Помните, что если вам нужно выполнить команду с привилегиями суперпользователя, введите “sudo” перед ним, как в примере:
sudo command_to_run
Если все хорошо, вы можете выйти из ваших сессий, набрав:
exit
На данный момент, у вас есть прочный фундамент для вашего сервера Debian 8. Вы можете установить любое из программного обеспечения, которое вам нужно на сервере в настоящее время.