При установке чистой операционной системы Debian 11 необходимо сделать несколько несложных шагов по её настройке, которые являются частью базовой конфигурации виртуального сервера. Эти настройки позволят повысить уровень безопасности вашего VPS и дадут вам твёрдую основу для дальнейших с ним манипуляций.
Далее мы изучим, как авторизоваться на сервере пользователем root, создать новую учётную запись с полномочиями суперпользователя, а также произвести начальные настройки брандмауэра.
По умолчанию в Linux Debian для суперпользователя root подключение к серверу по SSH не разрешен.
Если попробовать авторизоваться рутом, то, скорее всего, отобразится сообщение, что доступ не разрешен:
Запрет подключения к серверу по SSH пользователю root обусловлен требованием безопасности, но иногда все-таки нужно поработать именно рутом, для этого можно ВРЕМЕННО разрешить ему подключаться по SSH.
Это можно сделать следующим образом:
1. Создать пользователю root пароль (если нет) с помощью следующей команды:
Нажать Enter и ввести пароль 2 раза (консоль об этом напишет).
2.Открыть с помощью любого текстового редактора файл с настройками SSH, например, с помощью редактора VIM (VI):
И для параметра PermitRootLogin изменить значение с no на yes:
Иногда параметр PermitRootLogin закомментирован, соответственно, нужно его раскоментировать.
Сохранить изменения в файле.
В некоторых случаях параметр PermitRootLogin может иметь значение without-password или prohibit-password — это значит, что root разрешено подключаться средствами GSSAPI (не парольной аутентификации), например, с помощью смарт-карты или отпечатка пальца (это, конечно же, редкость).
3. Перезапустить ssh server командой:
(если не помогает, перезапустить сервер полностью 🙂
После этого пользователь root сможет подключиться по SSH.
Технология SSH или Secure Shell позволяет пользователям подключаться к компьютеру с Linux или серверу удалённо и выполнять на нём команды, так как бы они вводились с клавиатуры непосредственно на нём. Вывод команд тоже передаётся в реальном времени в текстовом режиме, от чего складывается впечатление, что вы работаете непосредственно на той машине, к которой подключены.
В этой небольшой статье мы рассмотрим как настроить SSH в Debian 10 для подключения к системе извне, а также основные параметры на которые стоит обратить внимание.
Если во время установки Debian вы выбрали установку SSH сервера, то в готовой системе он будет уже установлен и запущен. Для проверки его состояния выполните:
sudo systemctl status sshd
Если отображается надпись active, running, значит всё хорошо. В противном случае надо установить SSH сервер. Для этого используйте такую команду:
sudo apt install openssh-server ssh
Затем для запуска сервиса выполните:
sudo systemctl start sshd
Если на вашем сервере используется фаервол UFW, то вам надо разрешить удалённое подключение к порту 22:
sudo ufw allow ssh
Установка ssh в Debian завершена. Теперь вы можете попытаться подключится к SSH серверу локально:
При первом подключении надо будет подтвердить добавление ключа сервера в файл ~/.ssh/known_hosts. Затем перед вами откроется приглашение ввода в консоли SSH.
Доброго времени суток, уважаемые читатели. Сегодня статья на тему: «Установка SSH и Root доступ в Debian 10». Рассмотрим установку OpenSSH-сервера, и настройку удалённого доступа под пользователем root.
В процессе установки Debian 10, не производится установки SSH-сервера. Поэтому сразу после установки, нет возможности удалённого подключения.
- Установка Openssh-сервера в Debian 10
- Настройка root доступа по ssh в Debian 10
- Предоставление привилегий администратора
- Подключение к серверу пользователем root
- Настройка клиента
- Создание нового пользователя
- Настройка сервера SSH
- Смена порта
- Отключение входа суперпользователя
- Авторизация по ключу
- Базовая настройка брандмауэра
- Авторизация с использованием SSH-ключей
- Выводы
Установка Openssh-сервера в Debian 10
# apt-get install openssh-server
Настройка root доступа по ssh в Debian 10
# su —
PermitRootLogin yes
# systemctl restart ssh
Теперь можно напрямую авторизоваться под пользователем root, и производить любые действия, не производя никаких дополнительных манипуляций.
Надеюсь статья была вам полезна. До встречи в новых статьях.
Видео на тему «Установка SSH и Root доступ в Debian 10»:
Поблагодарить автора за полезную статью:
Предоставление привилегий администратора
Теперь, когда мы создали новую учётную запись, необходимо наделить её администраторскими полномочиями, чтобы выполнять задачи, требующие их наличия. Выполнение инструкции от имени суперпользователя производится при помощи команды sudo. Для того, чтобы наш новый пользователь мог запускать команду sudo, его необходимо добавить в соответствующую группу.
Теперь вы сможете выполнять команды от имени учётной записи root, зарегистрировавшись при этом в системе под вашим новым пользователем. Но сначала вы должны проинсталлировать sudo на свой VPS обновив списки пакетов:
# apt update
# apt install sudo
На практике применение данной команды выглядит как добавление слова sudo перед исполняемой инструкцией:
$ sudo your_executable_command
Подключение к серверу пользователем root
Непосредственно подключение к VPS осуществляется из командной строки следующей инструкцией:
В данном примере:
При первом подключении система может выдать вам предупреждение о подлинности хоста. Чтобы принять данное предупреждение, наберите yes.
Пользователь root – это административная учётная запись в среде Linux, имеющая очень широкие полномочия. Из-за того, что данный пользователь владеет такими повышенными привилегиями, крайне нежелательно использовать его на регулярной основе. Связано это с тем, учётная запись root может быть применена для внесения в вашу систему деструктивных изменений вплоть до потери работоспособности.
На следующем этапе первоначальной настройки сервера мы создадим альтернативного пользователя с полномочиями меньшего уровня. Такую учётную запись можно будет более безопасно использовать в повседневной работе.
Настройка клиента
Для каждого пользователя можно сделать отдельные настройки клиента SSH. Для этого используется файл .ssh/config. Синтаксис файла такой:
Хост имя_хоста
Параметр значение
Таких секций может быть сколько угодно. Сначала надо указать хост, для которого будут применяться настройки, затем параметры для него. Можно создать секцию, которая будет работать для любого хоста, для этого используйте *. Например, чаще всего для подключения по SSH используется пользователь root. Давайте использовать его по умолчанию для всех подключений:
Если для какого либо хоста вы меняли порт, что чтобы не вводить его каждый раз, можно настроить порт по умолчанию в этом файле, например:
Host localhost
Port 2222
Теперь при подключении можно просто набрать:
Создание нового пользователя
После того, как вы зарегистрировались в системе с помощью пользователя root, необходимо создать новую учётную запись, которую вы будете использовать далее.
Для создания нового пользователя наберите следующую команду:
Настройка сервера SSH
Все настройки сервера SSH находятся в файле /etc/ssh/sshd_config. Перед тем, как его редактировать лучше сделать резервную копию на всякий случай:
Смена порта
Одна из самых частых настроек, которую надо выполнять на большинстве серверов, это смена порта. Если у сервера есть публичный IP адрес, то его сканируют множество ботов, и как только они находят открытый порт 22, то сразу начинают пытаться перебрать пароль. Откройте конфигурационный файл и найдите строчку Port, расскоментируйте её, если нужно:
Затем пропишите нужное значение порта, например 2222:
Для того, чтобы изменения вступили в силу надо перезагрузить SSH сервер:
sudo systemctl restart sshd
Теперь, чтобы подключится к этому серверу надо будет явно указать порт с помощью опции -p:
Отключение входа суперпользователя
Чтобы разрешить подключение ssh Debian для пользователя root, замените значение этого параметра на yes.
Авторизация по ключу
Следующий шаг по обеспечению безопасности вашего сервера — отключить вообще авторизацию по паролю, а использовать только авторизацию по ключу. Подробнее про авторизацию по ключу рассказано здесь. В конфигурационном файле sshd вам надо изменить только несколько строчек:
Сначала найдите строку PubkeyAuthentication и замените её значение на yes:
Перед тем как отключать возможность входа по паролю убедитесь, что вы добавили ключ для авторизации, как это описано в статье выше. Затем замените значения параметров ChallengeResponseAuthentication, PasswordAuthentication, UsePAM на no.
Базовая настройка брандмауэра
В операционных системах семейства Debian используется межсетевой экран, разрешающий определённые подключения к серверу. Такой брандмауэр называется Uncomplicated Firewall (UFW). С его помощью вы сможете произвести настройки политики безопасности, а также, управлять её исключениями.
Установка брандмауэра производится следующей командой:
$ sudo apt install ufw
После завершения инсталляции у вас появится возможность управлять наборами правил межсетевого экрана для установленных приложений. Для большинства распространённых программ профили по умолчанию поставляются в комплекте с UFW. Дополнительные профили можно регистрировать в брандмауэре в процессе дальнейшей настройки.
Список всех доступных профилей приложений доступен по команде:
$ sudo ufw app list
Чтобы разрешить подключения к вашему серверу по SSH, запустите на выполнение следующую команду:
$ sudo ufw allow OpenSSH
Активация межсетевого экрана производится при помощи команды:
$ sudo ufw enable
Чтобы увидеть текущее состояние брандмауэра, наберите:
$ sudo ufw status
Вывод данной команды говорит нам о том, что межсетевой экран блокирует все соединения с сервером кроме SSH.
$ sudo ufw allow from XXX.XXX.XXX.XXX
Таким же образом можно ограничить доступ к серверу какой-либо определённой подсетью:
$ sudo ufw allow from XXX.XXX.XXX.0/24
Плюс ко всему у вас есть возможность разрешить подключения только к строго определённому порту. Например, использование следующей команды открывает доступ к серверу только для подключений по SSH, где используется порт 22.
$ sudo ufw allow from XXX.XXX.XXX.XXX to any port 22
Авторизация с использованием SSH-ключей
Чтобы повысить уровень безопасности вашего виртуального сервера, можно настроить на нём авторизацию при помощи SSH-ключей.
Для этого сначала необходимо создать SSH-ключ. На вашей рабочей станции, с которой вы подключаетесь к серверу, в командной строке наберите:
Данная команда как раз и генерирует SSH-ключ. При генерации ключа вы можете изменить или оставить по умолчанию имя файла ключа и его расположение. Также необходимо будет дважды набрать парольную фразу, если она нужна. В случае, если вы хотите подключаться к серверу без использования каких-либо паролей, вместо ввода парольной фразы просто нажимайте Enter.
В результате на вашей рабочей станции появятся два файла: публичный ключ сервера id_rsa.pub и ваш приватный ключ id_rsa.
После этого подключитесь к вашему VPS и перейдите в домашнюю директорию:
$ cd ~
Там создайте каталог .ssh:
$ mkdir .ssh
Созданному каталогу назначьте необходимые права:
$ chmod 700 .ssh/
Далее, перейдите в директорию .ssh и создайте в ней файл authorized_keys. Данному файлу назначьте права 600:
$ cd .ssh
$ touch authorized_keys
$ chmod 600 authorized_keys
После чего откройте его для редактирования:
$ nano authorized_keys
В этот файл необходимо скопировать содержимое файла id_rsa.pub с вашей локальной рабочей станции. При этом не следует копировать пробелы, расположенные после последнего символа. После чего закройте файл authorized_keys с сохранением внесённых изменений.
Результатом произведённых настроек должна стать возможность подключаться к вашему VPS без использования пароля учётной записи.
Чтобы совсем закрыть доступ к серверу для авторизации с использованием паролей, отредактируйте файл /etc/ssh/sshd_config:
$ cd /etc/ssh/
$ sudo nano sshd_config
В этом файле следует раскомментировать строку PasswordAuthentication и установить её значение в no. После чего перезапустите службу SSH:
$ sudo service ssh restart
Выводы
В этой статье мы рассмотрели как установить ssh, а также как выполняется настройка SSH в Debian. Теперь вы знаете основные моменты, которые надо сделать чтобы комфортно пользоваться этим сервисом. А какие настройки SSH делаете вы? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.