FAQ
Первоначальная настройка сервера с Ubuntu 14.04
Введение

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

Шаг первый – Root авторизация

Для входа в сервер, вы должны знать, общественный IP-адрес вашего сервера и пароль для учетной записи "root" пользователя. Если вы еще не вошли в свой сервер, вы можете следить за первыми инструкциями этой серии, как подключиться к вашему Droplet с SSH, который охватывает этот процесс в деталях.
Если вы еще не подключены к серверу, идите дальше и авторизуйтесь в качестве root пользователя, используя следующую команду (замените выделенное слово с общественным IP-адресом вашего сервера):

local$ ssh root@_IP_ADDRESS

Завершите процесс входа в систему, принимая предупреждение о host подлинности , если оно возникнет, то предоставьте root авторизацию (пароль или ключ). Если это ваш первый вход на сервер с помощью пароля, вам также будет предложено изменить пароль.

O Root

Привилегированный пользователь является административным пользователем в среде Linux, который имеет очень широкие привилегии. Из-за повышенного уровня привилегий суперпользователя, на самом деле не рекомендуется использовать его на регулярной основе. Это обьясняется тем, что используя часть мощности, присущей корневой учетной записи может сделать очень деструктивные изменения, даже случайно.

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

Шаг второй - создать нового пользователя

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

# adduser demo

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

Шаг третий - привилегии суперпользователя

Теперь у нас есть новая учетная запись пользователя с правами обычного аккаунта. Тем не менее, мы иногда сталкиваемся с административными задачами.
Чтобы избежать выхода из обычного аккаунта и снова войти в качестве суперпользователя мы можем установить привилегии суперпользователя для нашей обычной учетной записи. Это позволит нашему пользователю запускать команды с правами администратора, поставив слово Sudo перед каждой командой.
Чтобы добавить эти привилегии нового пользователя, нам нужно добавить нового пользователя в группу "Sudo". По умолчанию, на Ubuntu 14.04, пользователи, принадлежащие к группе "Sudo" могут использовать команду Sudo.
Как суперпользователь, запустите эту команду, чтобы добавить нового пользователя в Sudo группы (замените выделенное слово с вашего нового пользователя):

# gpasswd -a demo sudo

Теперь ваш пользователь может запустить команды с привилегиями cуперпользователя! Для получения более подробной информации о том, как это работает, проверьте это в sudo инструкции.

Шаг четвертый - Добавить открытый ключ аутентификации (рекомендуется)

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

Сгенерировать Key Pair

Если у вас еще нет парного ключа SSH, который состоит из публичного и частного ключа, то его нужно сгенерировать. Если у вас уже есть ключ, который вы хотите использовать, перейдите к шагу Сopy Public Key .
Для создания новой пары ключей, введите следующую команду в терминале вашей локальной машины (то есть вашего компьютера).:

Local$ ssh-keygen

Если предположить, что локальный пользователь называется "LocalUser", вы увидите результат, который выглядит следующим образом:

ssh-keygen output

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

Нажать Return чтобы принять это имя файла и путь (или ввести новое имя)
Далее, вам будет предложено ввести ключевую фразу для защиты ключа.
Вы можете либо ввести фразу-пароль или оставить пустым парольную фразу.
Примечание: Если оставить фразу пустой, вы сможете использовать закрытый ключ для аутентификации без ввода пароля. Если ввести фразу, вам понадобится как секретный ключ и фразу, чтобы войти. Обеспечение ключи с фраз является более безопасным, но оба метода имеют свои области применения и более безопасные, чем базовая аутентификация паролем.
Это создает секретный ключ, id_rsa, и открытый ключ, id_rsa.pub, в .ssh директорию домашнем каталоге LocalUser . Помните, что закрытый ключ не должен быть известен тем, кто не должен иметь доступ к серверам!

Скопируйте открытый ключ

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

Вариант 1: Использование ssh-copy-id

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

Local$ ssh-copy-id demo@_IP_ADDRESS

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

Вариант 2: вручную установить ключ

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

Local$ 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 для аутентификации в качестве нового удаленного пользователя, вы должны добавить открытый ключ в специальном файле в домашнем каталоге пользователя.
На сервере, в качестве суперпользователя, введите следующую команду, чтобы перейти на нового пользователь (заменить свое имя пользователя):

# su – demo

Теперь вы будете в домашнем каталоге вашего нового пользователя.
Создайте новый каталог называемый .ssh и ограничьте свои права с помощью следующих команд:


$ mkdir .ssh
$ chmod 700 .ssh

Теперь откройте файл в .ssh, называемый authorized_keys в текстовом редакторе. Мы будем использовать nano для редактирования файла

$ nano .ssh/authorized_keys

Теперь вставьте свой публичный ключ (который должен быть в вашем буфере обмена), вставив его в редактор.
Нажмите CTRL-X для выхода из файла, а затем Y, чтобы сохранить изменения, внесенные, потом ВВОД для подтверждения имени файла.
Теперь ограничьте права доступа к файлу authorized_keys с этой командой:

$ chmod 600 .ssh/authorized_keys

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

$ exit

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

Пятый шаг – Настройка SSH Daemon

Теперь у нас есть наш новый аккаунт, мы можем немного обезопасить наш сервер изменив его конфигурацию Daemon SSH (программа, которая позволяет войти нам удаленно), чтобы запретить удаленный доступ по SSH к учетной записи суперпользователя.
Начните с открытия файла конфигурации с текстовым редактором как суперпользователь:

# nano /etc/ssh/sshd_config

Далее, нам нужно найти строку, которая выглядит следующим образом:

/etc/ssh/sshd_config (before)
PermitRootLogin yes

Здесь, у нас есть возможность отключить логин суперпользователя через SSH. Это, как правило, более безопасный параметр, так как в настоящее время мы можем получить доступ к нашему серверу через логин обычного пользователя и повысить привилегии при необходимости.
Измените эту строку на "нет", чтобы отключить логин суперпользователя:

/etc/ssh/sshd_config (after)
PermitRootLogin no

Отключение удаленного логина суперпользователя настоятельно рекомендуется на каждом сервере!
Когда вы закончите внесения изменений сохраните и закройте файл, используя метод, который мы изучили ранее (CTRL-X, потом Y, потом ENTER).

Шаг шестой – Перезагрузить SSH

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

Введите это для перезапуска SSH:

# service ssh restart

Теперь, перед выходом из сервера, мы должны проверить нашу новую конфигурацию. Мы не хотим отсоединения, пока не подтвердили, что новые соединения успешно установлены.
Откройте новое окно терминала на локальном компьютере. В новом окне, мы должны начать новое соединение с нашим сервером. На этот раз, вместо того использовать учетную запись суперпользователя, мы использовать новую учетную запись, которую мы создали.
Для сервера, метод настройки которого мы показали выше, вы должны подключиться с помощью этой команды. Подставьте свое имя пользователя и IP-адрес сервера, который используете:

Local$ ssh demo@_IP_ADDRESS

Примечание: Если вы используете PuTTY для подключения к серверам, не забудьте обновить номер порта сеанса, чтобы соответствовать текущей конфигурации вашего сервера.
Вам будет предложено ввести пароль нового пользователя, который настроен. После этого, вам будет предложено войти в качестве нового пользователя.
Помните, что если вам нужно запустить команду с привилегиями суперпользователя, типа "Sudo" ,то это будет выглядеть таким образом:

$ sudo command_to_run

Если все хорошо, вы можете закрыть ваши сеансы, набрав:

$ exit

Куда пойти дальше?

На данный момент, у вас есть прочный фундамент для вашего сервера. Вы можете установить любое программное обеспечение, необходимое на вашем сервере в настоящее время.
Если вы не уверены, что вы хотите сделать с вашим сервером, проверьте следующие инструкции в этой серии для дополнительных последующих рекомендаций для новых Ubuntu 14.04 серверов. Он охватывает такие вещи, как основные настройки брандмауэра, NTP, и файлов подкачки. Он также содержит ссылки на учебные пособия, которые показывают вам, как настроить общие веб-приложения. Вы также можете проверить это руководство, чтобы узнать, как включить fail2ban снизить эффективность атак перебором.

Источник здесь.