Openssh server ubuntu установка

Мой первый опыт с Linux. Настройка Ubuntu Sever 20.04, подключения по SSH и удаленное подключение к базе данных

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

Начну с того, что скажу зачем мне вообще это понадобилось. А все просто, интересно. Я захотел создать десктопное приложение с базой данных, но я так уже делал и я захотел немного усложнить задачу, так как мне, в случае успеха, придется устанавливать эту программу для корпоративных целей, то базу данных надо переместить на сервер. Так что я взял старенький ноутбук и решил из него попробовать сделать сервер для базы данных. И столкнулся со множеством проблем, решение которых заняло у меня дня так три(если не учитывать то время, которое я пытался провозиться еще и с VirtualBox дня 2), хотя для некоторых может это и будет казаться легкотней, но для меня это было интересно и познавательно, ладно, начнем.

Установка Ubuntu Server.

Процесс установки Ubuntu Server, легко найти в интернете, например https://info-comp.ru/drugieopersistemi/644-install-linux-ubuntu-server-18-04.html. Хоть Ubuntu Server там и 18.04 я думаю эту руководство подойдет и для версии 20.04.

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

Ну перейдем к теме настройки сети. Цель настроить wifi. В интернете полно руководств по настройки проводного подключения, но мне так и не удалось найти руководство по настройке wifi, после которого бы у меня он заработал. wifi мне нужен в основном для того, чтобы во время разработки не быть привязанным к проводной сети. Но для того, чтобы его настроить все таки сначала понадобится проводная сеть. В принципе по умолчанию для проводной сети ip адрес определяется по DHCP, так что достаточно просто вставить Enternet-кабель и интернет заработает. Если это не так, то моя статья по этому поводу не поможет(уж извините). Дальше нам понадобится установить пакет net-tools. Для этого выполните команду:

Теперь нам надо узнать названия сетевых интерфейсов. Для этого выполним следующую команду

Нас интересует интерфейс wlp2s0 у вас он может называть по другому, например wlan0. Он отвечает за беспроводное соединение. Теперь, когда мы узнали название сетевого интерфейса, можем переходить к настройке wifi. Мои проблемы с настройкой wifi были лишь из-за того, что в версиях Ubuntu Server, начиная с 18.04 настройка сети происходит с помощью утилиты Netplan. Конечно в сети полно информации про нее и как ей пользоваться, мне например очень помогла статья https://fomich0ff.github.io/2019/05/05/wifi-on-rpi-ubuntu-server/. Тут все очень кратко расписано. Но даже после этих статей у меня так и не заработал wifi. Ну начнем. Для начало надо попасть в файл конфигурации, для этого набираем команду:

Появиться окно с настройками. Далее я приведу уже свои настройки(естественно скрыв SSID и password).

Для проверки нашего конфигурационного файла вводим команду:

И для того, чтобы настройки вступили в силу, вводим команду:

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

После этого у меня сразу заработал wifi(если не заработал, то можно попробовать перезагрузить систему). Теперь, когда появился wifi, можно перейти к настройке ssh.

Настройка SSH

Настроим конфигурационный файл, для этого выполним команду:

Откроется примерно такой файл:

# — закомментированные поля. Описание всех полей можно найти в интернете. Я лично раскомментировал следующие:

Port — по умолчанию идет 22, но для безопасности лучше поменять, я поставил 2023.

Protocol — протокол SSH. Первый протокол плохо защищен, так что ставим 2.

PermitRootLogin — если поля имеет значение no, то при подключение через SSH невозможно будет войти за root.

PubkeyAuthentication — разрешает/запрещает входить по публичному ключу(расм. далее)

AuthorizedKeysFile — показывает файлы с публичными ключами

PasswordAuthentication — если поле имеет значение yes, то возможно будет войти с помощью пароля пользователя, иначе можно будет войти только по ключу(если PubkeyAuthentication yes)

Все остальные поля я оставил как они и были(там были и другие раскомментированные поля)

После настройки необходимо перезагрузить ssh, для этого выполним команду:

Дальше во всех статьях, которые мне попадались, говорили, что можно смело подключаться по SSH, но как я не пытался в ответ я получал только connection refused(соединение отклонено). Кстати, чтобы подключиться необходимо ввести команду:

port — порт подключения, в моем случае 2023

username — имя пользователя(в моем случае vavilonbase, например)

hostname — имя хоста(к этому вернемся далее)

В качестве hostname я сначала использовал localhost, но все мои попытки не увенчались успехом, я долго мучался с этим подключение, пока наконец не нашел ответ, а именно, то что у меня были закрыты порты на роутере, открыть их мне помогла статья https://lumpics.ru/how-to-open-ports-on-router/.

Читайте также:  Установка домофонов и доводчиков

Я лишь покажу конечный результат переадресации портов:

После этого у меня все заработало. Теперь, в моем случае, для подключения по ssh нужно ввести команду:

И после этого ввести пароль, все готово.

При первом подключение может возникнуть сообщение:

Картинка с сайта: https://losst.ru/kak-podklyuchitsya-po-ssh

Здесь надо написать yes и нажать Enter.

SSH-ключ

Входит по паролю конечно хорошо, но еще лучше входить без пароля, но защищено, а именно по SSH ключу. В интернете полно руководств как сгенерировать SSH-ключ на Linux и перебросить его на ubuntu-server, например эта статья: https://losst.ru/avtorizatsiya-po-klyuchu-ssh

Но в интернете мне было сложно найти точное описание как же это сделать в Windows(а у меня основная машина WIndows). Так что я покажу все это на примере WIndows. Начнем.

Для начало надо установить на Windows клиент OpenSSH(кстати, его же надо установить и для подключения по ssh по паролю).

Для этого надо сделать все как на картинках:

В этой вкладке смотрим, если ли клиент OpenSSH

Если нет такого клиента, то жмем добавить компонент, находим клиент OpenSSH и устанавливаем его.

Теперь, когда у нас есть клиент OpenSSH перейдем к генерации ключа.

Для генерации ключа вводим в терминале Windows команду:

Дальше вас спросят следующие данные:

Куда сохранять эти ключи, обычно меняют путь, который предлагается по умолчанию(если хотите оставить путь по умолчанию, просто нажмите Enter)

Дальше, в случае, если вы уже генерировали ключи, спросят хотите ли вы их перезаписать

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

Все ключ сгенерирован, дальше то с чем у меня по началу возникали проблемы. А именно, для клиента OpenSSH Windows нет команды sshcopyid, благодаря которой происходила отправка ключа на сервер в WIndows. Я лично использовал для этих целей команду scp.

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

То есть создаем папку .ssh(если она еще не создана)

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

Теперь выполним следующую команду:

Посмотрим, что здесь что:

-P — стоит заметить, что P — большая, это важно, тут мы вводим порт.

Дальше идет адрес публичного ключа в Windows(где его взять см. выше)

Дальше идет имя пользователя и имя хоста(прямо как при подключение по SSH), после этого идет двоеточие и папка куда надо отправить этот ключ на сервере(в ту самую папку, которую мы создали).

Но это отнюдь не все, если вспомнить, то когда мы настраивали sshdconfig, то мы как раз таки указывали какие файлы у нас отвечают за ключ, а именно

/.ssh/authorizedkeys, то есть нам надо переименовать файл. Переходим на сервер и вводим следующие команды:

Все готово. Пробуем войти и радуемся.

Настройка БД

Ну перейдем к тому, для чего все это и было затеяно. В качестве БД у меня PostgreSQL.

Для установки БД можно воспользоваться этой статьей: https://losst.ru/ustanovka-postgresql-ubuntu-16-04. Дальше создадим пользователя app и тестовую базу данных appdb. Выполним команды:

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

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

listen_addresses = ‘localhost’ поменять на listen_addresses = ‘*’ и для безопасности изменить порт по умолчанию(5432).

Во втором файле необходимо изменить следующую строку(см. картинку)

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

Попробуем подключиться к базе данных через небольшое приложение на C#.

То есть тут мы запрашиваем у сервера его версию, получаем следующий ответ:

Как видно сервер вернул ответ с версией, а значит все настроено верно.

Ну на этом все. Как я и сказал, я в Linux полный новичок, так что если есть какие-либо советы я только рад. Это статья служит скорее как шпаргалка мне, так как мне это и правда был интересный опыт и я бы хотел запечатлить его в виде такой вот статьи. Спасибо всем за внимание.

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Источник



Как включить SSH в Ubuntu 20.04

Secure Shell (SSH) — это сетевой протокол, используемый для безопасного соединения между клиентом и сервером. Каждое взаимодействие между сервером и клиентом зашифровано.

В этом руководстве объясняется, как включить SSH на компьютере с Ubuntu.

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

Включение SSH в Ubuntu

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

Выполните следующие шаги от имени пользователя root или пользователя с правами sudo для установки и включения SSH в вашей системе Ubuntu:

Откройте терминал с помощью Ctrl+Alt+T и установите пакет openssh-server :

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

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

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

Нажмите q чтобы вернуться в командную строку.

Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. Если в вашей системе включен брандмауэр , обязательно откройте порт SSH:

Это оно! Теперь вы можете подключиться к своей системе Ubuntu через SSH с любого удаленного компьютера. В системах Linux и macOS по умолчанию установлены клиенты SSH. Для подключения с компьютера Windows используйте SSH-клиент, например PuTTY .

Подключение к SSH-серверу

Чтобы подключиться к вашей машине Ubuntu по локальной сети, вызовите команду ssh, за которой следует имя пользователя и IP-адрес в следующем формате:

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

Как видно из выходных данных, IP-адрес системы — 10.0.2.15 .

Найдя IP-адрес, войдите на удаленный компьютер, выполнив следующую команду ssh :

При первом подключении вы увидите такое сообщение:

Введите yes и вам будет предложено ввести пароль.

После ввода пароля вы увидите сообщение Ubuntu по умолчанию:

Теперь вы вошли в систему на своей машине с Ubuntu.

Подключение к SSH за NAT

Чтобы подключиться к домашней машине с Ubuntu через Интернет, вам необходимо знать свой общедоступный IP-адрес и настроить маршрутизатор на прием данных через порт 22 и их отправку в систему Ubuntu, где работает SSH.

Чтобы определить общедоступный IP-адрес компьютера, к которому вы пытаетесь подключиться по SSH, просто перейдите по следующему URL-адресу: https://api.ipify.org .

Когда дело доходит до настройки переадресации портов , каждый маршрутизатор имеет свой способ настройки переадресации портов. Чтобы узнать, как настроить переадресацию портов, обратитесь к документации маршрутизатора. Короче говоря, вам нужно ввести номер порта, на который будут выполняться запросы (порт SSH по умолчанию — 22), и частный IP-адрес, который вы нашли ранее (с помощью команды ip a ) машины, на которой работает SSH.

После того, как вы нашли IP-адрес и настроили маршрутизатор, вы можете войти в систему, набрав:

Если вы открываете свою машину для доступа в Интернет, рекомендуется принять некоторые меры безопасности. Самый простой — настроить маршрутизатор на прием трафика SSH на нестандартный порт и пересылку его на порт 22 на машине, на которой запущена служба SSH.

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

Отключение SSH в Ubuntu

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

Позже, чтобы снова включить его, введите:

Выводы

Мы показали вам, как установить и включить SSH на вашем Ubuntu 20.04. Теперь вы можете войти на свой компьютер и выполнять повседневные задачи системного администратора через командную строку.

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

Для получения дополнительной информации о том, как настроить SSH-сервер, прочтите руководство по SSH / OpenSSH / настройке Ubuntu и официальную страницу руководства по SSH .

Источник

Сервер OpenSSH

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

Серверный компонент OpenSSH, sshd, постоянно ожидает клиентские подключения от любого клиентского приложения. Когда обнаруживается запрос на соединение, sshd устанавливает корректное соединение в зависимости от соединяющегося клиентского приложения. Например, если удаленный компьютер подсоединяется с помощью клиентского приложения ssh, сервер OpenSSH устанавливает сессию удаленного управления после авторизации. Если удаленный пользователь подсоединяется к серверу OpenSSH с помощью scp, сервис OpenSSH на сервере инициирует защищенное копирование файлов между сервером и клиентом после авторизации. OpenSSH может использовать много методов аутентификации, включая простой пароль, открытый ключ и билеты Kerberos.

Установка

Установка клиента и сервера OpenSSH очень простая. Для установки клиентского приложения OpenSSH на вашей системе Ubuntu используйте команду в терминале:

Для установки серверного приложения OpenSSH и связанных файлов используйте такую команду в терминале:

Пакет openssh-server может быть выбран для установки во время процесса установки Ubuntu Server Edition.

Конфигурация

Вы можете настроить поведение по умолчанию серверного приложения OpenSSH, sshd, редактируя файл /etc/ssh/sshd_config. Для информации по конфигурационным директивам, используемым в этом файле, вы можете посмотреть соответствующую страницу руководства, задав следующую команду в терминале:

Существует множество директив в конфигурационном файле sshd, управляющих такими вещами, как настройки соединений и способы авторизации. Далее примеры конфигурационных директив, которые могут быть изменены редактированием файла /etc/ssh/sshd_config.

Скопируйте файл /etc/ssh/sshd_config и защитите его от записи с помощью следующих команд в терминале:

Далее примеры конфигурационных директив, которые вы можете изменить:

Чтобы установить TCP порт прослушивания для вашего OpenSSH 2222 вместо стандартного 22, измените директиву Port таким образом:

Чтобы sshd допускал вход с использованием открытых ключей, просто добавьте или измените строку:

Если строка уже присутствует, убедитесь, что она не закомментирована.

Чтобы позволить вашему OpenSSH серверу показывать содержимое файла /etc/issue.net в качестве шапки пред авторизацией, просто добавьте или измените строку:

Все изменения производятся в файле /etc/ssh/sshd_config.

После изменений в /etc/ssh/sshd_config, сохраните файл и перестартуйте серверное приложение sshd для применения изменний, используя команду в терминале:

Ключи SSH

Для создания ключей введите в терминале клиента:

Это сгенерирует ключи использующие метод цифрового алгоритма подписи (DSA). В процессе у вас спросят пароль. Просто нажмите Enter на запрос о создании ключа. По умолчанию открытый ключ сохраняется в файл

/.ssh/id_dsa.pub, в то время как секретный в

/.ssh/id_dsa. Теперь скопируйте файл id_dsa.pub на удаленный компьютер и добавьте его к

В конце дважды проверьте права доступа файла authorized_keys, чтобы только авторизованные пользователи имели права на чтение и запись. Если права установлены некорректно, измените их:

Теперь у вас есть возможность соединиться по SSH с этим узлом без ввода пароля.

Источник

Установка SSH-server в Ubuntu

Установка SSH-Server в Ubuntu

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

Устанавливаем SSH-server в Ubuntu

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

Шаг 1: Загрузка и установка SSH-server

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

  1. Запустите консоль через меню или зажав комбинацию Ctrl + Alt + T.

Переход к работе в терминале Ubuntu

Скачивание SSH с официального репозитория в Ubuntu

Ввод пароля для скачивания SSH в Ubuntu

Подтвердить добавление архивов для SSH в Ubuntu

Установить клиент SSH в случае его отсутствия в Ubuntu

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

Шаг 2: Проверка работы сервера

Для начала давайте убедимся в том, что стандартные параметры были применены верно, а SSH-server отзывается на основные команды и выполняет их правильно, поэтому вам надо:

  1. Запустите консоль и пропишите там sudo systemctl enable sshd , чтобы добавить сервер в автозагрузку Ubuntu, если вдруг этого не случилось автоматически после установки.

Добавить SSH в автозагрузку ОС Ubuntu

Удалить SSH из автозагрузки Ubuntu

Подключиться через SSH к локальному компьютеру

Подтвердить подключение к локальному компьютеру Ubuntu

Подключиться к 0.0.0.0 через SSH в Ubuntu

Подтвердить подключение к адрусу по умолчанию в Ubuntu

Как видите, команда ssh используется для подключения к любому компьютеру. Если у вас появилась надобность соединиться с другим устройством, просто запускайте терминал и вводите команду в формате ssh имя_пользователя@ip_адрес .

Шаг 3: Редактирование файла конфигурации

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

    Первоочередно сохраните резервную копию файла конфигурации, чтобы в случае чего обратиться к нему или восстановить исходное состояние SSH. В консоль вставьте команду sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original .

Создать резервную копию файла конфигурации SSH в Ubuntu

Вторая команда для резервной копии SSH в Ubuntu

Запуск файла конфигурации SSH в Ubuntu

Сохранение изменений в конфигурации Ubuntu

Выход из файла конфигурации в Ubuntu

Перезапустить SSH-сервер после изменений в Ubuntu

Изменить стандартный порт SSH в Ub

Изменить порт в брандмаузере Ubuntu

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

Шаг 4: Добавление ключей

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

    Откройте консоль и создайте новый ключ клиента, введя ssh-keygen -t dsa , а затем присвойте название файлу и укажите сам пароль для доступа.

Создание нового ключа в Ubuntu

Успешное создание нового ключа SSH в Ubuntu

Переслать файл с ключом на компьютер в Ubuntu

Осталось только перезапустить сервер и проверить его корректность работы через открытый и секретный ключ.

На этом процедура установки SSH-сервера и его основная настройка завершена. Если вы вводите все команды правильно, никаких ошибок при выполнении задачи возникнуть не должно. В случае каких-либо проблем с подключением после настройки попробуйте убрать SSH из автозагрузки, чтобы решить неполадку (читайте об этом в Шаге 2).

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

Помимо этой статьи, на сайте еще 11887 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

ЗакрытьОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Источник

Adblock
detector