Меню

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



Начальная настройка Ubuntu Server 20.04 LTS после установки

Содержание:

Базовая настройка Ubuntu Server 20.04 после установки.

Подключаемся к серверу:

Учётная запись root

По умолчанию пароль для root не установлен в Ubuntu 20.04, мы видим сообщение об ошибке:

Можем убедится в том, что пароль для root пустой:

Так устроено в целях безопасности. Например, вы можете забыть что работаете от имени суперпользователя и удалить какие-либо важные вещи. Разработчики Ubuntu это учли и вообще отключили аккаунт суперпользователя.

Если всё же нужно авторизоваться от имени суперпользователя, необходимо установить для него пароль:

Затем нужно ввести два раза пароль. Проверим снова:

Важно! На рабочих серверах не делайте так. Так можно делать только на домашней машине для удобства.

Создание нового пользователя с административными правами

Добавляем в систему нового пользователя и предоставляем ему права администратора.

Система задаст несколько вопросов. Сначала она предложит ввести пароль для этой учетной записи.

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

Проверим добавился ли пользователь john :

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

Сменим пользователя и проверим его права:

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

Настройка брандмауэра

Различные приложения могут при установке зарегистрировать свой профиль в UFW. Такие профили позволяют UFW управлять этими приложениями по имени. OpenSSH (сервис, который позволяет подключаться к серверу) имеет свой профиль, зарегистрированный в UFW.

Разрешим SSH-соединения, чтобы иметь возможность подключиться в следующий раз:

И опять проверяем статус:

Теперь можно настроить аутентификацию на основе SSH-ключей.

Аутентификация пользователя на основе SSH-ключей

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

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

Путь для расположения ключа можно оставить стандартным. Можно придумать и ввести passphrase (секретная фраза). Или же просто оставить всё по умолчанию, нажимая Enter :

Теперь этот ключ нужно скопировать на сервер. В Windows придётся копировать ключ вручную. Займёмся этим.

Подключаемся к серверу:

В корневой директории созданного пользователя (/home/john) нужно создать папку .ssh . Скорее всего вы уже находитесь в этой директории. Проверить это можно с помощью команды:

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

Здесь создадим директорию .ssh :

Проверить создание директории и просмотреть структуру текущей директории:

Установим права для этой папки:

Перейдем в эту папку:

Создадим файл authorized_keys в этой директории:

Установим права для этого файла:

Курсор передвинется на новою строку в ожидании ввода данных от вас:

Переходим в папку на локальном компьютере, куда был сгенерирован ключ и с помощью любого текстового редактора открываем файл id_rsa.pub . Копируем весь текст из этого файла. Копируйте внимательно, без захвата пробелов в начале и в конце строки!

Вставляем ключ, который скопировали из файла id_rsa.pub и вводим команду:

Отлично, мы скопировали и вставили наш ключ в файл authorized_keys . Можно проверить содержимое файла командой:

Теперь при подключении к серверу по SSH, пароль для подключения запрашиваться не будет.

Редактируем конфиг SSH

Откроем для редактирования конфигурационный файл SSH:

Находим строчку PermitRootLogin . Раскомментируем её (убрав знак решетки (#)) и выставим ему значение no . Таким образом мы запретим авторизацию под root пользователем:

Находим строчку PubkeyAuthentication . Раскомментируем её. Так мы активируем возможность авторизации с помощью SSH-ключа:

Находим строчку PasswordAuthentication . Раскомментируем ее и выставим значение no. Так мы запретим авторизацию по паролю:

В самом конце файла с новой строчки вставим команду:

Сохраняем файл и выходим из редактора. Перезапускаем SSH:

Теперь если попытаться авторизоваться под root или каким-либо другим пользователем, то сервер выдаст ошибку доступа.

На этом начальная настройка Ubuntu Server 20.04 завершена. В следующей заметке установим стек LAMP.

Источник

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

Технология SSH (Secure Shell) позволяет проводить безопасное удаленное управление компьютером через защищенное соединение. SSH производит шифровку всех передаваемых файлов, включая пароли, а также передает совершенно любой сетевой протокол. Для корректной работы инструмента его необходимо не только установить, но еще и настроить. Именно о произведении главной конфигурации мы и хотели бы поговорить в рамках данной статьи, взяв за пример последнюю версию операционной системы Ubuntu, на которой будет располагаться сервер.

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

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

Читайте также:  Настройка nat сервера centos

Создание пары ключей RSA

В только что установленном SSH еще нет заданных ключей для осуществления подключения от сервера к клиенту и наоборот. Все эти параметры необходимо задать вручную сразу же после добавления всех компонентов протокола. Пара ключей работает с помощью алгоритма RSA (сокращение от фамилий разработчиков Rivest, Shamir и Adleman). Благодаря этой криптосистеме через специальные алгоритмы производится шифрование ключей. Для создания пары открытых ключей вам нужно лишь ввести соответствующие команды в консоль и следовать появившимся инструкциям.

    Перейдите к работе с «Терминалом» любым удобным методом, например, открыв его через меню или комбинацию клавиш Ctrl + Alt + T.

Введите команду ssh-keygen , а затем нажмите на клавишу Enter.

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

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

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

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

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

Вариант 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

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

/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:

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

/.ssh/id_rsa.pub, а после этого на экране появится сообщение:

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)? yes

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

Вариант 3: Ручное копирование открытого ключа

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

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

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

/.ssh/authorized_keys . После этого можно пробовать проводить аутентификацию с сервером без использования паролей.

Аутентификация на сервере через созданный ключ

В предыдущем разделе вы узнали о трех методах копирования ключа удаленного компьютера на сервер. Такие действия позволят подключиться без использования пароля. Выполняется эта процедура через командную строку путем ввода shh ssh username@remote_host , где username@remote_host — имя пользователя и хост нужного компьютера. При первом подключении вы будете уведомлены о незнакомом соединении и можете продолжить, выбрав вариант yes.

Подключение произойдет автоматически, если во время создания пары ключей не была задана ключевая фраза (passphrase). В противном случае сначала придется ввести ее, чтобы продолжить работу с SSH.

Читайте также:  Варианты настройки сервера 1с

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

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

    В «Терминале» откройте конфигурационный файл через редактор с помощью команды sudo gedit /etc/ssh/sshd_config .

Найдите строку «PasswordAuthentication» и уберите знак # в начале, чтобы раскомментировать параметр.

Измените значение на no и сохраните текущую конфигурацию.

Закройте редактор и перезапустите сервер sudo systemctl restart ssh .

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

Настройка стандартного firewall

В Убунту сетевой защитой по умолчанию выступает фаервол Uncomplicated Firewall (UFW). Он позволяет разрешать соединения для избранных сервисов. Каждое приложение создает свой профиль в этом инструменте, а UFW управляет ими, разрешая или запрещая подключения. Настройка профиля SSH путем добавления его в список осуществляется так:

    Откройте список профилей firewall через команду sudo ufw app list .

Введите пароль от учетной записи для отображения информации.

Вы увидите лист доступных приложений, среди них должен находиться и OpenSSH.

Теперь следует разрешить соединения через SSH. Для этого добавим его в список разрешенных профилей с помощью sudo ufw allow OpenSSH .

Включите firewall, обновив правила, sudo ufw enable .

Для убеждения в том, что соединения разрешены, следует прописать sudo ufw status , после чего вы увидите состояние сети.

На этом наши инструкции по конфигурации SSH в Ubuntu завершены. Дальнейшие настройки конфигурационного файла и других параметров осуществляются лично каждым пользователем под его запросы. Ознакомиться с действием всех составляющих SSH вы можете в официальной документации протокола.

Источник

Как настроить удаленный доступ к Ubuntu из Windows

Представьте, вы находитесь в одной комнате, сидя перед компьютером с Windows; данные, которые вам нужны, находятся в другой, на компьютере под управлением Ubuntu. Если оба компьютера находятся в одном доме, нет проблем; но что, если они находятся в одном офисном блоке?

Зачем удаленно подключаться к Ubuntu из Windows?

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

В качестве альтернативы, возможно, вы используете сервер Ubuntu. Возможно, вы настроили его для управления запуском такой игры, как Counter-Strike или Minecraft. В любом случае, настройка удаленного подключения сэкономит много времени и сил.

У вас есть два варианта установки удаленного соединения с компьютером Ubuntu: вы можете использовать Remote Desktop (RDP) или Virtual Network Computing (VNC).

Давайте рассмотрим каждый метод по очереди.

Узнайте IP-адрес вашего ПК Ubuntu

Прежде чем установить соединение с устройством Ubuntu, необходимо знать IP-адрес.

Первый способ самый простой. Физически подойдите к устройству Ubuntu, нажмите Ctrl + Alt + T, чтобы открыть терминал, и введите команду:

Ищите «inet addr» напротив соединения, которое вы в данный момент используете. Например, если вы пользуетесь Wi-Fi, ищите wlan0. Если компьютер подключен к сети для Ethernet, ищите eth0.

Другой способ найти IP-адрес — найти значок подключения на панели, щелкнуть правой кнопкой мыши и выбрать Сведения о подключении. Здесь вы найдете IP-адрес.

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

После входа в консоль администрирования маршрутизатора, вы сможете увидеть, какие устройства подключены. Просто найдите имя своего устройства Ubuntu, найдите IP-адрес и запишите его.

1. Подключение по SSH

Перед началом работы, возможно, вы захотите установить PuTTY на ваш компьютер (или просто попробовать встроенную функцию Windows SSH). Это позволит вам установить SSH-соединение, которое дает удаленный доступ к командной строке Ubuntu.

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

Короче говоря, это зависит от того, какую версию Ubuntu вы используете и использовали ли вы SSH ранее.

Читайте также:  Настройка кодировки сервера mysql

После установки через терминал (sudo apt install openssh-server) вы сможете установить удаленное соединение (просто используя IP-адрес и имя пользователя и пароль Ubuntu) и использовать терминал для установки необходимых инструментов для RDP и для VNC.

2. Удаленный доступ с помощью протокола удаленного рабочего стола

Самым простым вариантом является использование протокола Remote Desktop Protocol или RDP. Встроенный в Windows, этот инструмент можно использовать для создания подключения к удаленному рабочему столу в вашей домашней сети. Все, что вам нужно, это IP-адрес устройства Ubuntu.

В то время как необходимое программное обеспечение предустановлено на Windows, вам нужно будет установить инструмент xrdp на Ubuntu. Для этого откройте окно терминала (Ctrl + Alt + T) и введите:

Подождите, пока он установится, затем запустите приложение Remote Desktop в Windows с помощью меню «Пуск» или «Поиск». Введите rdp и нажмите на Remote Desktop Connection (Подключение к удаленному рабочему столу). Когда приложение будет открыто, введите IP-адрес в поле Компьютер.

Затем нажмите кнопку Показать опции и добавьте имя пользователя для Ubuntu PC. Вы можете нажать Сохранить, чтобы сохранить эти настройки для повторного использования в следующий раз.

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

Устранение проблем с RDP

Хотя RDP является отличным вариантом для удаленного подключения к компьютеру Ubuntu, с приходом Ubuntu 18.04 LTS, такой способ менее надежен. Похоже, что существует проблема с установлением удаленного соединения, когда в учетной записи уже выполнен вход на машине Ubuntu.

Таким образом, простой способ обойти это — просто выйти из пользователя.

Если это невозможно, попробуйте переключить RDP-соединение с использования сервера Xorg на использование X11rdp, подождите, пока это не сработает, а затем снова попробуйте Xorg.

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

3. Удаленный доступ с помощью виртуальной сети (VNC)

Другой вариант с полной функциональностью удаленного рабочего стола — VNC (Virtual Network Computing). Для этого требуется клиентское приложение на ПК с Windows и сервер на Ubuntu.

На удаленном ПК установите компонент TightVNC Server после проверки обновлений:

На этом этапе вам будет предложено установить пароль для подключения. Вам также будет присвоен номер рабочего стола, обычно :1. Запишите это.

Теперь, когда TightVNC Server настроен на Ubuntu, вам нужно будет установить клиент на Windows. Его можно скачать с сайта www.tightvnc.com/download.php — убедитесь, что вы выбрали правильную версию, так как она доступна в 32-битном и 64-битном варианте.

Инструменты TightVNC доступны только в комплекте, поэтому после установки ищите TightVNC Viewer в поиске Windows.

После запуска просмотрщика введите IP-адрес Ubuntu в хост, а затем номер рабочего стола. Это может выглядеть следующим образом:

Введите пароль при запросе и начните работу на удаленном рабочем столе!

Делаем TightVNC более безопасным

По умолчанию TightVNC зашифрует ваш пароль, но больше ничего. Это делает его небезопасным для подключений через интернет. К счастью, его можно сделать более безопасным, благодаря SSH и Xming.

Для этого скачайте и установите инструмент Xming для Windows из Sourceforge. После этого найдите ярлык рабочего стола, щелкните правой кнопкой мыши и выберите Properties (Свойства).

Ищите вкладку Shortcut, а в поле Target введите следующее:

Нажмите кнопку Применить, чтобы сохранить изменения, затем OK. Дважды щелкните значок, чтобы запустить Xming, затем откройте PuTTY. Здесь разверните меню слева до Connection > SSH > X11.

Установите флажок Включить переадреcацию X11, затем вернитесь к сеансу (Session) в верхней части меню.

Введите IP-адрес удаленного устройства и нажмите кнопку Открыть. Через несколько секунд будет доступно защищенное соединение с удаленным рабочим столом Ubuntu.

Выбор правильного решения для удаленного доступа

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

Доступны три основных варианта:

  • RDP: Он использует протокол Windows Remote Desktop Protocol, через реализацию xrdp с открытым исходным кодом.
  • VNC: Виртуальные сетевые вычисления являются альтернативой RDP, но менее безопасны.
  • VNC через SSH: смешивание VNC с SSH повышает безопасность соединения.

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

Мы показали вам три способа установить удаленное соединение с вашим компьютером Ubuntu или сервером из Windows. Каждый из них имеет свои преимущества и недостатки. Но если вы просто хотите быстро окунуться в Ubuntu, почему бы не попробовать подсистему Windows для Linux, доступную в Windows 10?

Источник