Меню

Настройка сервера доступа debian



Установка ssh и настройка root доступа в Debian

В этой статье мы узнаем как установить и настроить ssh сервер на Debian 9 Stretch для удаленного доступа.

Содержание:

Установка ssh сервера

Сначала, обновим списки пакетов с помощью команды:

Списки пакетов должны обновиться как на скриншоте ниже.

В Debian SSH-сервер представлен в виде пакета «openssh-server». Чтобы установить OpenSSH в Debian, выполните следующую команду:

Введите «Y» и нажмите для продолжения.

В Debian по умолчанию сервер OpenSSH работает так, что он запускается автоматически после установки. Вы также можете проверить работу с помощью следующей команды:

Вы должны увидеть статус «active (running)», как показано на скриншоте ниже. Это означает, что сервер SSH работает. Он прослушивает порт 22.

Если ssh-сервер не работает, вы можете использовать следующую команду, чтобы запустить его.

root доступ через ssh

Если вы хотите получить root доступ к серверу, то вы можете попробовать войти так:

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

Введите свой пароль от root, и вы должны войти в систему как root, как показано на скриншоте ниже.

Вы можете изменить конфигурацию вашего SSH-сервера, чтобы разрешить прямой вход в систему как root.

Для этого откройте файл конфигурации «/etc/ssh/sshd_config» с помощью «nano»:

Промотаем немного вниз. Вы должны увидеть строку, которая помечена на скриншоте.

Удалите # перед PermitRootLogin и измените «prohibit-password» на «yes». Как только вы закончите, нажмите Ctrl + X, нажмите «y», а затем нажмите , чтобы сохранить файл.

Перезапустим ssh-сервер, чтобы изменения вступили в силу.

Теперь вы сможете напрямую подключиться как пользователь root, как показано на скриншоте ниже.

Подключение по ssh

Перед тем как подключиться к серверу, необходимо знать его ip адрес.

Чтобы узнать ip компьютера, на котором запущен ssh-сервер, выполните следующую команду с этого компьютера.

На скриншоте видно, что ip адрес — 192.168.10.82

Теперь, подключимся к этому серверу с другого компьютера:

Я подключусь к ssh-серверу с адресом 192.168.10.82 как пользователь «shovon».

После того как вы нажмете , вы должны увидеть следующее приглашение, если вы впервые подключаетесь к серверу.

Просто введите «yes» и нажмите .

Затем вам будет предложено ввести пароль от пользователя, под которым вы заходите. Введите пароль и нажмите .

После подключения имя хоста изменилось с «linuxhint-pc» на «linuxhint», как вы можете увидеть на скриншоте ниже.

Далее вы можете проверить, что вы подключены к удаленному серверу с помощью следующей команды:

Как вы видите, ip адрес 192.168.10.82

Вы можете запускать здесь любые команды и управлять удаленным сервером по SSH.

Когда вы закончите настройку, просто выполните следующую команду, чтобы закрыть соединение.

Видите? Мы вернулись обратно к «linuxhint-pc».

Источник

Настройка сервера на Debian 9

Установка debian на живой сервер или на виртуалку Virtual Box, настройка сети

Начнём с VirtualBox. Установка виртуальной машины стандартная, о ней уже рассказывалось в статье Установка Debian 9.3 — пошаговая инструкция

При установке имеется небольшая разница относительно того, какая операционная система установлена — Windows или unix системы.

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

Указываем имя Debian сервер, virtualbox сам выбирает операционную систему Linux Debian (он по названию определит).

Заходим в настройки и загружаем образ предварительно скачанные с сайта — www.debian.org/distrb/

Скачивать нужно дистрибутив net Install, что означает установка по сети, дистрибутив весит около 250 МБ, он достаточно быстро скачивается. Пакеты и программное обеспечение будет доустанавливаться по сети. Т.е. если у вас нет интернета, дистрибутив net Install вам не подойдёт, и нужно скачивать полную версию.

Заходим в настройке, выбираем накопители, и в контроллере IDE 10 монтируется образ ISO. Далее стартуем сервер. В открывшемся меня нажимаем Install. Подробная установка Debian рассмотрена здесь. После завершения установки перезагружаем сервер.

Установка SSH

SSH (от англ. Secure Shell «безопасная оболочка») представляет собой сетевой протокол для соединения по сети Internet, который позволяет выполнять удалённое управление системой. Имеется бесплатная модификация SSH, которая именуется OpenSSH и включена в пакет ssh Debian.

Подключиться к серверу через ssh (с компьютера под управлением unix подобной операционной системы)

Знакомство с командной строкой и протоколом ssh, sftp, настройка доступов по ключам (вместо паролей), root доступ

Базовые утилиты: su ls pwd cp scp locate updatedb which

Команда cd означает change directory (сменить директорию)

su – Superuser (суперпользователь).

Если мы находимся под логином текущего пользователя, то прописав su + имя пользователя, можно зайти в систему с правами root. Root имеет доступ ко всем папкам, может запускать и удалять всё что угодно, поэтому от имени суперпользователя необходимо работать внимательно и осторожно.

ls – показывает содержимое папки.

Указанные команды необходимо хорошо знать или иметь шпаргалку по ним, потому что без них вы ничего не сможете сделать.

Читайте также:  Adfs server 2012 настройка

Сочетание клавиш

Ctrl+c отменяет запущенный процесс

Настройка сети

Для того, чтобы наш сервер стал доступен из нашей операционной системы, например, для того, чтобы из Windows зайти на свой сервер, через пути или просто пинговать его, или просто зайти в браузер. Выключаем сервер правильным способом (команда halt). Включаем питание в виртуально машине, идем в настройки – сеть — включаем режим моста, выбираем подключение.

Сейчас IP адрес у сервера будет такой же, как и у компьютера.

Вводим ip a — посмотреть все интерфейсы и их IP адреса.

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

Потребуется отредактировать следующий файл:

Пример config для ручной настройки IP:

iface lo inet loopback

# The primary network interface

iface eth0 inet static

# dns-* options are implemented by the resolvconf package, if installed

Публичные ключи

Для начала нам нужно сгенерировать ключ уже на нашем же сервере с помощью утилиты ssh-keygen. Ключи нужны чтобы каждый раз не вводить пароль.

На сервер нужно загрузить публичный ключ (приватный ключ хранится только у нас на компьютере).

Если ключ, который вы желаете использовать, уже имеется перейдите к разделу «Копирование публичного ключа».

Для создания пары (pair) ключей, пропишите команду в терминале вашего компьютера:

Ключ будет сгенерирован в текущем каталоге пользователя в папке …/.ssh/id_rsa.

Этот файл необходимо держать у себя на компьютере.

Чтобы зайти на аккаунт под публичным ключом нужно создать файл .ssh/authorized_keys

Необходимо скопировать публичную часть ключа в этот файл. После создания пары SSH-ключей, пропишите команду в терминале на локальной машине для вывода публичного ключа:

Закрываем файл сочетанием клавиш ctrl+x. Сохраняем – y.

Теперь попробуем зайти на сервер:

Теперь мы на сервер можем сколько угодно раз заходить без всяких паролей.

Псевдонимы в Unix ssh/config

Это относится опять же к операционным системам на базе unix. К Windows это никакого отношения не имеет. Но если вы будете с одного Debian сервера заходить на другой Debian сервер, тогда это вам пригодится или если ваш домашний компьютер будет Debian и вы будете администрировать удаленный компьютер Debian, то вам это в принципе поможет.

В папке ssh создается файл config, в нем прописывается хост, придумывается псевдоним. Теперь можно сразу заходить с помощью псевдонима под логином и паролем.

Знакомство с менеджером пакетов apt и принципом установки приложений

Что такое .deb пакеты в Debian?

Это файлы, подобные MSI файлам в Windows. То есть это набор файлов и мета-данных для установки того или иного определённого приложения. Там хранится скомпилированный бинарник уже сразу под вашу операционную систему. Например, если установлена 64 битная Debian версия 9.3, то значит в этом в пакете будет именно этот бинарный файл для установленной системы.

Вся установка deb пакетов означает скопировать бинарник в одну папку, config в другую папку, ну и попросить какие-то зависимости, без которых эта программа не запустится.

В Debian по умолчанию установлена системная программа dpkg, которая при установке системы ставит приложения. Существует принципиальное отличие dpkg и apt.

Утилита dpkg просто устанавливает бинарники, и предупреждает о зависимостях, которые нужны для этой программы, при этом она эти зависимости устанавливать не будет.

Утилита apt автоматически всё продумывает, необходимые зависимости она установит.

apt-get – это менеджер пакетов, который устанавливает deb пакеты и автоматически устанавливает все нужные зависимости. То есть если нужен, к примеру, PHP с поддержкой xml или ещё с чем-то, то apt-get автоматически устанавливает целый комплект нужных программ (это своего рода как AppStore для для iOS).

Установка утилит mc

Попробуем установить полезную утилиту mc, она часто используется для работы сервера. Она представляет собой популярный 2х-панельный файловый менеджер Midnight Commander.

Установка mc на сервер:

Добавляем пользователя в группу root

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

Установка и настройка окружения nginx, php-fpm, mysql;

Устанавливаем nginx php5 и mysql-server:

sudo apt-get install php5-fpm php5-mysql

Настройка nginx

sudo cp /etc/nginx/sites-available/default

Источник

Настройка SSH в Debian

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

Читайте также:  Как отключить прокси сервер в настройках вашего браузера

Настраиваем SSH в Debian

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

Установка SSH-server и SSH-client

По умолчанию SSH входит в стандартный набор утилит операционной системы Debian, однако из-за каких-либо особенностей нужные файлы могут устареть или просто отсутствовать, например, когда пользователь вручную произвел деинсталляцию. Если вы нуждаетесь в предварительной установке SSH-server и SSH-client, выполните следующую инструкцию:

  1. Откройте меню «Пуск» и запустите оттуда «Терминал». Сделать это можно и через стандартную комбинацию клавиш Ctrl + Alt + T.

Здесь вас интересует команда sudo apt install openssh-server , отвечающая за установку серверной части. Введите ее и нажмите на Enter для активации.

Как вы уже знаете, действия, выполняемые с аргументом sudo, потребуется активировать, указав пароль суперпользователя. Учитывайте, что вводимые в данной строке символы не отображаются.

Далее потребуется добавить в систему и клиентскую часть, что касается и того компьютера, к которому в будущем будет осуществляться подключение. Для этого используется похожая команда sudo apt-get install openssh-client .

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

Управление сервером и проверка его работы

Вкратце давайте остановимся на том, как осуществляется управление установленным сервером и проверка его работы. Это необходимо сделать еще до того, как переходить к настройке, чтобы убедиться в корректности функционирования добавленных компонентов.

  1. Используйте команду sudo systemctl enable sshd , чтобы добавить сервер в автозагрузку, если это не случилось автоматически. В случае надобности отмены запуска вместе с операционной системой используйте systemctl disable sshd . Тогда для ручного запуска понадобится указывать systemctl start sshd .

Все подобные действия абсолютно всегда должны быть выполнены от имени суперпользователя, поэтому нужно вводить его пароль.

Задействуйте команду ssh localhost для проверки сервера на работоспособность. Замените localhost на адрес локального компьютера.

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

Добавление пары ключей RSA

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

    Откройте «Терминал» и введите там ssh-keygen .

Вы можете самостоятельно выбрать место, куда требуется сохранить путь к ключу. Если нет желания его менять, просто нажмите на клавишу Enter.

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

При вводе ключевой фразы придется указать ее еще раз, чтобы подтвердить.

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

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

Копирование открытого ключа на сервер

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

Способ 1: Команда ssh-copy-id

Начнем с самого простого варианта, подразумевающего использование команды ssh-copy-id. По умолчанию эта утилита уже встроена в ОС, поэтому в предварительной инсталляции не нуждается. Синтаксис ее тоже максимально прост, а от вас потребуется выполнить такие действия:

    В консоли введите команду ssh-copy-id username@remote_host и активируйте ее. Замените username@remote_host на адрес целевого компьютера, чтобы отправка прошла успешно.

При первой попытке соединения вы увидите сообщение «The authenticity of host ‘203.0.113.1 (203.0.113.1)’ 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» . Выберите положительный ответ, чтобы продолжить подключение.

После этого утилита самостоятельно займется поиском и копированием ключа. В итоге, если все прошло успешно, на экране появится уведомление « /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed — if you are prompted now it is to install the new keys username@203.0.113.1’s password: «. Это значит, что можно вводить пароль и переходить к непосредственному управлению удаленным рабочим столом.

Читайте также:  Сервер яндекс почты для настроек

Дополнительно уточним, что после первой успешной авторизации в консоли появится уведомление следующего характера:

Number of key(s) added: 1

Now try logging into the machine, with: «ssh ‘username@203.0.113.1′»
and check to make sure that only the key(s) you wanted were added.

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

Способ 2: Экспорт ключа через SSH

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

/.ssh/id_rsa.pub | ssh username@remote_host «mkdir -p

/.ssh/authorized_keys && chmod -R go=

На экране должно появиться уведомление

The authenticity of host ‘203.0.113.1 (203.0.113.1)’ 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)? .

Подтвердите его, чтобы продолжить соединение. Публичный ключ будет автоматически скопирован в конец конфигурационного файла «authorized_keys». На этом процедуру экспорта можно считать оконченной.

Способ 3: Ручное копирование ключа

Этот метод подойдет тем пользователям, у кого нет возможности создать удаленное подключение к целевому компьютеру, однако имеется физический доступ к нему. В таком случае ключ придется переносить самостоятельно. Для начала определите сведения о нем на серверном ПК через cat

В консоли должна отобразиться строка ssh-rsa + ключ в виде набора символов== demo@test . Теперь можно перейти к другому компьютеру, где следует создать новую директорию, введя mkdir -p

/.ssh . В ней же добавляется текстовый файл под названием authorized_keys . Осталось только вставить туда определенный ранее ключ через echo + строка публичного ключа >>

/.ssh/authorized_keys . После этого аутентификация будет доступна без предварительного ввода паролей. Осуществляется это через команду ssh username@remote_host , где username@remote_host следует заменить на имя необходимого хоста.

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

Отключение аутентификации по паролю

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

    Откройте конфигурационный файл /etc/ssh/sshd_config через любой удобный текстовый редактор, это может быть, например, gedit или nano.

В открывшемся списке отыщите строку «PasswordAuthentication» и уберите знак #, чтобы сделать эту команду активной. Поменяйте значение yes на no , чтобы отключить интересующую опцию.

По завершении нажмите на Ctrl + O, чтобы сохранить изменения.

Не меняйте название файла, а просто нажмите на Enter для применения настройки.

Можно покинуть текстовый редактор, нажав на Ctrl + X.

Все изменения вступят в силу только после перезагрузки службы SSH, поэтому сделайте это сразу же через sudo systemctl restart ssh .

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

Настройка параметра межсетевого экрана

В завершение сегодняшнего материала хотим рассказать о настройке межсетевого экрана, который будет использован для разрешений или запрещений соединений. Мы пройдемся только по основным пунктам, взяв за пример Uncomplicated Firewall (UFW).

    Для начала давайте просмотрим список существующих профилей. Введите sudo ufw app list и нажмите на Enter.

Подтвердите действие, указав пароль суперпользователя.

В списке отыщите SSH. Если эта строка там присутствует, значит, все функционирует корректно.

Разрешите соединение через эту утилиту, написав sudo ufw allow OpenSSH .

Включите межсетевой экран, чтобы обновить правила. Делается это через команду sudo ufw enable .

Вы в любой момент можете проверить текущее состояние брандмауэра, введя sudo ufw status .

На этом процесс настройки SSH в Debian закончен. Как видите, существует множество различных нюансов и правил, которые требуется соблюдать. Конечно, в рамках одной статьи невозможно уместить абсолютно всю информацию, поэтому мы затронули только основные сведения. Если вы заинтересованы в получении более углубленных данных об этой утилите, советуем ознакомиться с ее официальной документацией.

Источник

Adblock
detector