Установка и настройка ssh сервера в ubuntu

Устройство OpenWrt по умолчанию всегда прослушивает доступ к командной строке SSH на порту 22. Для ssh в маршрутизатор» вы вводите команду ssh [email protected] в эмуляторе терминала (для маршрутизатора с адресом 192.168.1.1).

Порты в Linux

Как мы уже знаем, каждое устройство (компьютер, ноутбук, мобильный телефон, и т.д.) в сети имеет свой собственный IP-адрес. Он уникален для каждого отдельного устройства и дает возможность организовывать сетевые соединения между устройствами. Тем не менее, на отдельном устройстве может быть запущено несколько сетевых приложений одновременно. Порты предоставляют возможность идентифицировать такие сетевые приложения на отдельно взятом компьютере.

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

Например, некоторые Интернет-сервера имеют несколько одновременно работающих сетевых приложений, таких как веб-сервер (для организации доступа к веб-сайтам на этом сервере), почтовый сервер (для организации получения и отправки сообщений электронной почты) и FTP-сервер (для передачи файлов). Самому физическому серверу в данном случае назначен его уникальный IP-адрес, но если мы попытаемся создать соединение с сервером только по его IP, возникнет проблема неоднозначности — мне не знаем с каким именно приложением мы должны соединиться для обмена данными.

Linux Terminal Emulators

Все дистрибутивы Linux предоставляют клиентский интерфейс ssh как часть стандартной установки.

  1. Откройте эмулятор терминала и напишите ssh [email protected] (“ssh» — это команда, root это пользователь OpenWrt, к которому вы подключаетесь, а это светодиод по умолчанию OpenWrt)
  2. появится сообщение о принятии нового ключа от устройства OpenWrt, напишите “yes” и нажмите клавишу “Ввод”.
    1. Если по какой-то причине вы переустановили OpenWrt, у устройства будет другой ключ, и вы получите сообщение о несоответствии ключей. В этой ошибке будет указано, что является командной строкой для копирования-вставки в вашем терминале, чтобы удалить старый ключ и продолжить.
  3. если вы хотите закрыть сеанс, напишите “exit”

Обычно у Linux также есть клиенты SCP (для открытия/редактирования/загрузки/выгрузки файлов в OpenWrt), которые могут быть установлены или не установлены по умолчанию. Вам нужно найти документацию вашего дистрибутива или выполнить поиск с помощью интерфейса управления пакетами для “SCP”, чтобы найти, где он находится, и его текущий статус установки. Прочтите его встроенное руководство (“man scp”, например, для клиента командной строки SCP) или google некоторые учебные пособия, чтобы узнать, как его использовать.

Установка ssh Ubuntu

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

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

Установка ssh Ubuntu

Что такое SSH?

SSH или Secure Shell — это протокол безопасного доступа из одного компьютера к другому по сети. У протокола SSH очень много возможностей. Вы можете создавать защищенные соединения между компьютерами, открывать командную строку на удаленном компьютере, запускать графические программы, передавать файлы и организовывать частные сети.

Читайте также:  Apple скоро выпустит бета-версию iOS 13.4.1

За поддержку протокола SSH в Linux отвечает набор программного обеспечения OpenSSH. Это открытая реализация этого протокола, которая предоставляет все необходимые возможности. В состав пакета OpenSSH входят утилиты для установки соединения, передачи файлов, а также сам ssh сервер.

Установка OpenSSH в Ubuntu

Установка ssh Ubuntu

Установить ssh на Ubuntu будет очень просто, программа считается стандартной и используется почти везде. Хотя по умолчанию в дистрибутиве ее нет, но зато она есть в официальных репозиториях.

Поэтому для установки откройте терминал с помощью сочетания клавиш Ctrl+Alt+T и выполните команду:

sudo apt install openssh-server

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

Установка ssh Ubuntu

sudo systemctl enable sshd

  • Если затем вы захотите удалить службу из автозагрузки, используйте команду disable:
  • sudo systemctl disable sshd
  • Что касается клиента ssh, то он уже установлен в системе по умолчанию. Сейчас вы можете попробовать подключиться к локальному ssh серверу просто набрав:
  • ssh localhost

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

ssh 0.0.0.0

Установка ssh Ubuntu

Точно таким способом вы можете получить ssh доступ ubuntu к любому другому компьютеру из сети. Для этого достаточно указать вместо localhost его ip адрес и имя пользователя в таком формате:

$ ssh имя_пользователя@ip_адрес

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

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

Установка ssh Ubuntu
  1. Перед тем как вносить изменения в этот конфигурационный файл рекомендуется сделать его резервную копию, для этого можете использовать такую команду:
  2. sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_
  3. Дальше вы можете перейти к настройке конфигурационного файла:
  4. sudo vi /etc/ssh/sshd_config
  5. Первым делом желательно сменить порт, на котором работает ssh, возможный злоумышленник не знал включен ли у вас этот сервис. Найдите в конфигурационном файле строчку Port и замените ее значение на любое число, например, Port 2222:

По умолчанию вход от имени суперпользователя включен, рекомендуется отключить такую возможность. Для этого найдите строчку PermitRootLogin и замените ее значение на no:

Чтобы разрешить аутентификацию по ключу, а не по паролю найдите строку PubkeyAuthentication и убедитесь, что ее значение yes.

  • После того как все настройки будут завершены, сохраните изменения нажав :w и перезапустите службу ssd:
  • sudo systemctl restart ssh
  • Более подробно про настройку и использование различных тонкостей ssh рассказано в статье как использовать ssh.
  • Если вы изменили порт, то при подключении в клиенте тоже нужно указать новый порт, так как по умолчанию будет использоваться 22, например:
  • ssh -p 2222 localhost 
  • К тому же, если на компьютере установлен и настроен брандмауэр, то в нем тоже нужно разрешить доступ к новому порту ssh, для этого выполните:
  • sudo ufw allow 2222
  • Даже если служба ssh находится на порту по умолчанию, его тоже нужно открыть в брандмауэре если вы собираетесь подключаться к компьютеру через интернет:
  • sudo ufw allow 22
Установка ssh Ubuntu

Настройка ssh Ubuntu полностью завершена.

Читайте также:  Samba. Управление доступом.

Выводы

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

На завершение видео, где подробно рассказано о том, что такое ssh:

Установка ssh Ubuntu

(12

Какие настройки SSH по умолчанию стоит заменить

К сожалению, интернет-среда буквально пропитана мифами и легендами. После появления очередной “утки” все программисты реагируют, а со временем люди уже забывают, что это всего лишь миф и продолжают делать все по предписанным правилами, которые, возможно, и не правила вовсе. И как же разобраться в этой пучине надуманных законов и ложных советов? Лучший помощник в этом вопросе – это практика и мудрость опытных программистов.

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

К примеру, вам стоит сразу же отредактировать данные по root-пользователю. Никак нельзя его подпускать к серверу SSH – это чревато необратимыми последствиями. Мало того, что хакер может проникнуть к вам на компьютер через аккаунт суперадминистратора, так и вы сами способны нанести вред серверу SSH, ведь у root неограниченные права. Никак нельзя допускать кому-либо выполнять команды sudo удаленно, а по умолчанию суперадмину дозволено входить на сервер SSH. Так что начните с того, что запретите ему доступ.

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

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

Какие настройки SSH по умолчанию стоит заменить

Но стоит ли менять порты? Точнее стоит ли менять стандартный порт, который прописан в SSH по умолчанию? Как известно, это значение равно – Port 22. И по поводу этой строки у многих программистов возникает масса вопросов. Одни уверенно твердят, что нельзя поддавать себя такой опасности и лучше просто заменить порт. Другие говорят, что и Port 22 – это нормально и ничего страшного произойти не может, если игнорировать стандартный порт в настройках.

Читайте также:  Лучшие SSH-клиенты для Windows, Linux и macOS

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

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

Еще одна неприятность, которая подстерегает тех, кто решился заменить port 22 на другое значение – это возможные сбои в работе. Все-таки, не зря разработчики протокола SSH выбрали именно Port 22 для стандартных настроек. Видимо, этот порт лучше других подходит для обеспечения взаимодействия сервера и клиента, и если заменить port 22 на другой, можно поплатиться потерей функциональности, вплоть до потери возможности работать с сервером. Но если вы все же не боитесь приведенных предостережений, то разберем следующие вопросы: как изменить port 22 и как создать forwarding (переадресацию) портов.

Конфигурационные файлы клиента SSH

/etc/ssh/ssh_config

Общесистемный файл конфигурации клиента SSH.

/etc/ssh/ssh_known_hosts

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

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

Это конфигурационный файл с настройками каждого пользователя. Из-за возможного злоупотребления этот файл должен иметь строгие разрешения: чтение/запись для пользователя и недоступность для записи другими.

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