Как поднять ssh на ubuntu
Как включить SSH в Ubuntu 18.04
How to Enable SSH on Ubuntu 18.04
В этом руководстве мы покажем вам, как включить SSH на компьютере с Ubuntu Desktop. Включение SSH позволит вам удаленно подключаться к вашей машине Ubuntu и безопасно передавать файлы или выполнять административные задачи.
Введение
Включение SSH в Ubuntu
Сервер SSH не устанавливается по умолчанию в настольных системах Ubuntu, но его можно легко установить из стандартных репозиториев Ubuntu.
Чтобы установить и включить SSH в вашей системе Ubuntu, выполните следующие действия:
Откройте свой терминал с помощью Ctrl+Alt+T сочетания клавиш или щелкнув значок терминала и установите openssh-server пакет, набрав:
При появлении запроса введите пароль и введите, Y чтобы продолжить установку.
После завершения установки служба SSH запустится автоматически. Чтобы убедиться, что установка прошла успешно и запущена служба SSH, введите следующую команду, которая распечатает статус сервера SSH:
Вы должны увидеть что-то вроде Active: active (running) :
Нажмите, q чтобы вернуться в командную строку.
Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. Если в вашей системе включен брандмауэр, обязательно откройте порт SSH:
Подключение к SSH через LAN
Чтобы подключиться к вашей машине Ubuntu по локальной сети, вам нужно всего лишь ввести следующую команду:
Если вы не знаете свой IP-адрес, вы можете легко найти его с помощью команды ip :
Найдя IP-адрес, войдите на удаленный компьютер, выполнив следующую ssh команду:
При первом подключении через SSH вы увидите примерно следующее сообщение:
Введите, yes и вам будет предложено ввести пароль.
После ввода пароля вы увидите сообщение, подобное приведенному ниже.
Теперь вы вошли в систему на своей машине с Ubuntu.
Подключение к SSH через Интернет
Чтобы подключиться к компьютеру с Ubuntu через Интернет, вам необходимо знать свой общедоступный IP-адрес и настроить маршрутизатор для приема данных через порт 22 и их отправки на компьютер Ubuntu, на котором работает SSH.
После того, как вы нашли IP-адрес и настроили маршрутизатор, вы можете войти в систему, набрав:
Вы также можете настроить аутентификацию на основе ключа SSH и подключиться к компьютеру с Ubuntu без ввода пароля.
Отключение SSH в Ubuntu
Если по какой-то причине вы хотите отключить SSH на своем компьютере с Ubuntu, вы можете просто остановить службу SSH, запустив:
Чтобы запустить его снова, выполните:
Чтобы отключить запуск службы SSH во время загрузки системы:
Чтобы снова включить его, введите:
Заключение
Вы узнали, как установить и включить SSH в Ubuntu 18.04. Теперь вы можете войти на свой компьютер и выполнять общие задачи системного администратора через командную строку.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию добавляет дополнительный уровень безопасности вашему серверу, снижая риск автоматических атак.
Полное руководство по настройке SSH в Ubuntu
В наши дни SSH стал методом по умолчанию для доступа к удаленному серверу Linux.
SSH расшифровывается как Secure Shell и представляет собой мощный, эффективный и популярный сетевой протокол, используемый для удаленной связи между двумя компьютерами. И давайте не будем забывать о защищенной части его имени; SSH шифрует весь трафик для предотвращения таких атак, как угон и подслушивание, предлагая различные методы аутентификации и множество вариантов конфигурации.
В этом руководстве для начинающих вы узнаете:
Основы SSH
Прежде чем вы увидите какой-либо процесс настройки, будет лучше пройти через базовую концепцию SSH.
Протокол SSH основан на архитектуре сервер-клиент. «Сервер» позволяет «клиенту» подключаться по каналу связи. Этот канал зашифрован, и обмен регулируется использованием открытых и закрытых ключей SSH.
С сайта https://www.ssh.com/academy/ssh
Для успешной настройки SSH вам необходимо:
Важно различать сервер и клиент. Возможно, вы не захотите, чтобы ваш персональный компьютер работал как SSH-сервер, если у вас нет веских причин, по которым вы хотите, чтобы другие подключались к вашей системе через SSH.
Как правило, у вас есть выделенная система, работающая в качестве сервера. Например, Raspberry Pi с сервером Ubuntu. Вы включаете SSH на Raspberry Pi, чтобы вы могли контролировать и управлять устройством со своего основного персонального компьютера, используя SSH в терминале.
Обладая этой информацией, давайте посмотрим, как настроить SSH-сервер в Ubuntu.
Настройка SSH-сервера в Ubuntu
Настроить SSH не сложно, для этого нужно всего несколько шагов:
Опять же, установка SSH-сервера должна выполняться в системе, которую вы хотите использовать как сервер и к которой вы хотите подключиться удаленно через SSH.
Шаг 1. Установите необходимые пакеты
Начнем с открытия окна терминала и ввода необходимых команд.
Не забудьте обновить свою систему Ubuntu перед установкой новых пакетов или программного обеспечения, чтобы убедиться, что вы используете последние версии.
Пакет, необходимый для запуска SSH-сервера, предоставляется компонентом openssh-server из OpenSSH:
Шаг 2: Проверка статуса сервера
После завершения загрузки и установки пакета служба SSH должна быть уже запущена, но для уверенности мы проверим ее с помощью:
Вы также можете использовать команды systemd:
Вы должны увидеть что-то подобное с выделенным словом Active. Нажмите q, чтобы вернуться в командную строку.
Если в вашем случае сервис не работает, вам нужно будет активировать его следующим образом:
Шаг 3. Разрешение SSH через брандмауэр
Ubuntu поставляется с утилитой межсетевого экрана под названием UFW (UncomplicatedFirewall), которая представляет собой интерфейс для iptables, который, в свою очередь, управляет сетевыми правилами. Если брандмауэр активен, он может помешать подключению к вашему SSH-серверу.
Чтобы настроить UFW так, чтобы он разрешал требуемый доступ, вам необходимо выполнить следующую команду:
Статус UFW можно проверить, запустив sudo ufw status.
На данном этапе наш SSH-сервер запущен и просто ожидает соединения от клиента.
Подключение к удаленной системе с вашего локального компьютера
В вашей локальной системе Linux уже должен быть установлен клиент SSH. Если нет, вы всегда можете установить его, используя следующую команду в Ubuntu:
Чтобы подключиться к вашей системе Ubuntu, вам необходимо знать IP-адрес компьютера и использовать команду ssh, например:
Измените username на своего фактического пользователя в системе и address на IP-адрес вашего сервера Ubuntu.
Если вы не знаете IP-адрес своего компьютера, вы можете ввести ip a в терминале сервера и проверить вывод. У вас должно получиться что-то вроде этого:
Использование «ip a» для поиска IP-адреса
Как видно здесь, мой IP-адрес 192.168.2.54. Давайте попробуем подключиться, используя формат имя username@adress.
При первом подключении к серверу SSH он запросит разрешение на добавление хоста. Введите да и нажмите Enter, чтобы продолжить.
Первое подключение к серверу
Сразу же SSH сообщает вам, что хост был добавлен навсегда, а затем запрашивает пароль, назначенный для имени пользователя. Введите пароль и еще раз нажмите Enter.
Хост добавлен, теперь введите пароль
И вуаля! Вы войдете в свою систему Ubuntu удаленно!
Теперь вы можете работать в терминале удаленной системы в обычном режиме.
Закрытие SSH-соединения
Чтобы закрыть соединение, вам просто нужно ввести exit, и оно сразу же закроет его, не запрашивая подтверждения.
Закрытие соединения
Остановка и отключение SSH в Ubuntu
Если вы хотите остановить службу SSH, вам понадобится эта команда:
Это остановит службу, пока вы ее не перезапустите или пока система не будет перезагружена. Чтобы перезапустить его, введите:
Теперь, если вы хотите отключить его запуск во время загрузки системы, используйте это:
Это не остановит работу службы во время текущего сеанса, а только загрузку во время запуска. Если вы хотите, чтобы он снова запускался во время загрузки системы, введите:
Другие клиенты SSH
Инструмент ssh включен в большинство систем * nix, от Linux до macOS, но это не единственные существующие варианты, вот пара клиентов, которые можно использовать из других операционных систем:
Заключение
С помощью этих инструкций вы можете настроить SSH в качестве серверной службы в системе Ubuntu, чтобы иметь возможность удаленно и безопасно подключаться к вашему компьютеру для работы с командной строкой и выполнения любых необходимых задач.
Установка и настройка SSH на сервере с Ubuntu
В этой статье мы создадим виртуальную машину с Ubuntu 18.04 LTS 64-bit и выполним настройки для безопасного взаимодействия с сервером.
SSH (Secure Shell) — протокол с шифрованием для безопасного обмена данными между элементами ИТ-инфраструктуры. Чаще всего SSH используется для управления серверами с операционными системами семейства Linux и различным сетевым оборудованием.
Чтобы создать сервер, откроем панель управления Selectel и перейдем в меню Облачная платформа, затем выберем подходящий дата-центр и создадим нужный сервер.
В нашем примере используется виртуальный сервер с фиксированной конфигурацией в виде 1 ядра CPU, 1 Гб оперативной памяти, 10 Гб пространства на жестком диске и операционной системой Ubuntu 18.04 LTS 64-bit.
Далее нажимаем Создать и уже через несколько минут сервер готов к работе. Для удобства доступа к серверу, также был заказан плавающий внешний IP-адрес.
После успешного создания сервера, можно запускать консоль и настроить подключение по SSH. В Ubuntu за это отвечает утилита OpenSSH. В статье мы рассмотрим настройку доступа по ключам, настройку firewall, отключение аутентификации по паролю и проделаем некоторые другие вещи.
Как установить OpenSSH
OpenSSH — это бесплатный SSH-сервер, дающий возможность интерактивного управления сервером. Для установки SSH на сервер воспользуемся встроенным в Ubuntu пакетным менеджером apt:
В большинстве дистрибутивов OpenSSH-сервер уже присутствует в системе и его установка не требуется. В случае отсутствия OpenSSH, вышеуказанная команда выполнит установку.
Теперь добавим SSH-сервер в автозагрузку. При следующем запуске сервера, операционная система выполнит автоматический запуск SSH-сервера. Как и в случае с другими сервисами systemd позволяет управлять параметрами запуска, автозагрузки и рестарта демона OpenSSH. Включим автозапуск:
В результате получим:
Проверим работоспособность утилиты:
И убедимся, что всё корректно работает:
Как настроить SSH
Настройка SSH на Ubuntu необходима для улучшения защищенности системы. Например, можно отключить возможность входа от имени пользователя root или изменить порт подключения со стандартного 22 на произвольный. Лучше использовать порты из верхнего диапазона (50000-65000). Напомним, что в стеке протоколов TCP/IP доступно 65536 портов.
Настройка выполняется выполняется в конфигурационном файле. Перед его модификацией, создадим резервную копию.
Вот теперь можно менять порт. Все изменения конфигурации SSH выполняются в файле /etc/ssh/sshd_config. Откроем его на редактирование:
Раскомментируем строку Port 22 и изменим значение на 55555. Но мы должны вас предостеречь, боты прежде всего сканируют порты с одинаковыми цифрами, поэтому в промышленных средах лучше использовать номер порта с отличными друг от друга цифрами.
Далее нужно отключить возможность входа на сервер учетной записи суперпользователя (root) и добавить возможность входить через ключи. Для этого изменим значения параметров PermitRootLogin на no и PubkeyAuthentication на yes:
После этого следует перезагрузить демон SSH. Соединение при этом будет разорвано и подключиться можно будет через новый порт и пользовательскую учетную запись (она должны быть предварительно создана).
Переподключимся от обычной учетной записи и по другому порту:
После успешного подключения можно продолжать работу с сервером.
Как создать пару ключей RSA
Еще один способ аутентификации на сервере — пара ключей RSA: открытый и закрытый. Открытый хранится на сервере, к которому будет выполняться подключение, а закрытый на удаленном компьютере (или другом сервере) откуда выполняется подключение.
На схеме ниже иллюстрация безопасного обмена ключами между Алисой и Бобом. Злоумышленник Ева может читать сообщения, если они не зашифрованы. Здесь Алиса или Боб шифруют сообщение при помощи открытого ключа принимающей стороны, которая его дешифрует при помощи своего закрытого ключа.
Чтобы сгенерировать такую пару ключей, достаточно выполнить команду:
Команду нужно выполнять на своей рабочей станции от имени пользователя, который будет в дальнейшем подключаться к удаленному компьютеру. Путь к хранению ключей можно оставить по умолчанию:
Ключи созданы, можно переходить к следующему шагу — копированию открытого ключа на удаленный сервер. Предварительно убедитесь, что на том сервере создана учетная запись, от имени которой вы будете подключаться.
Как скопировать открытый ключ на сервер
Чтобы скопировать ключ на удаленный сервер, выполним следующую команду:
В этом примере 95.213.154.235 — это IP-адрес удаленного сервера. После ввода пароля, ключ копируется папку .ssh домашней директории пользователя.
Вывод обеих команд на скриншоте ниже.
Как пройти аутентификацию на сервере через созданный ключ
Сразу же после выполнения копирования, проверим доступ при помощи созданной пары ключей:
Если подключение по SSH будет успешным — все настройки были выполнены корректно.
Как выполнить отключение аутентификации по паролю
Для отключения возможности входа по паролю необходимо в файле /etc/ssh/sshd_config отредактировать значение PasswordAuthentication и присвоить no.
После изменения настроек перезагружаем службу SSH:
Теперь при попытке подключения пользователем, для которого не определена пара ключей, будет выдаваться ошибка подключения.
При этом подключение при помощи ключа будет успешным.
Отключение доступа паролю — верная стратегия повышения безопасности сервера. Особенно в публичных облаках. Однако, если ключ будет утерян, это станет серьезной проблемой. Поэтому важно его хранить в надежном месте или пользоваться специализированными инструментами, например, аппаратным устройством Yubikey.
Как настроить стандартный firewall
В Ubuntu есть встроенный фаервол Netfilter, который может управляться как непосредственно вызовом утилиты iptables с параметрами так и специальной утилитой UFW (Uncomplicated Firewall). Мы разберем оба варианта.
Iptables на нашем демо-стенде уже установлен, но если в вашем дистрибутиве его нет — можно воспользоваться пакетным менеджером apt:
При работе с iptables можно настроить три типа правил: INPUT — для входящих соединений, OUTPUT — для исходящих и forward для транзитных (используется для маршрутизаторов). Для сервера актуальны первые два.
При обработке пакетов возможно выполнение следующих действий: ACCEPT — разрешить прием пакета, DROP — удалить пакет, REJECT — отклонить пакет и отправил уведомление об отклонении отправителю, LOG — записать пакет в лог и QUEUE — отправить пакет приложению.
В iptables доступны следующие функции управления:
Например, чтобы посмотреть настроенные правила можно выполнить команду
Теперь попробуем заблокировать все пакеты от узла 10.10.10.10:
При помощи комбинаций перечисленных выше опций можно настроить любую требуемую логику работы с сетевыми пакетами.
Если перечисленные выше опции показались сложными, можно упростить задачу настройки фаервола и воспользоваться утилитой ufw. Перед началом работы, установим ее при помощи пакетного менеджера apt:
После установки можно начинать работать с правилами. Разрешим все исходящие соединения и запретим все входящие:
В примерах выше мы меняли порт для доступа по SSH на 55555. Создадим правило для доступа по этому порту:
Теперь включим сам фаервол.
Обратите внимание на предупреждение системы об отключении SSH-подключений, если вдруг вы забыли добавить соответствующее правило. Но мы его добавили, поэтому смело включаем фаервол.
После включения фаервола, проверим его настройки командой:
Дополнительно можно настроить доступ с определенного IP-адреса (или диапазона адресов), на определенный порт.
При помощи правил UFW можно также применять правила к определенным сетевым интерфейсам сервера.
Как настройки подключения по SSH влияют на безопасность
В этом разделе разберем основные настройки для повышения уровня безопасности SSH. Все настройки выполняются в уже известном конфигурационном файле /etc/ssh/sshd_config.
Первая настройка — проверка соответствия DNS-имени IP-адресу клиента. За это отвечает параметр UseDNS.
Следующий шаг к безопасности — запрет пустых паролей. Задается в параметре PermitEmptyPasswords.
Дополнительно можно ограничить количество неудачных попыток подключения:
Еще один подход к ограничению несанкционированных подключений — задание пользователей и групп, которым разрешен доступ по SSH. Они перечисляются в параметрах AllowUsers и AllowGroups.
Дополнительно, можно задать время, в течении которого система ожидает от пользователя ввода пароля. По умолчанию это две минуты, но лучше уменьшить до 30 секунд.
Отключение пользователя при бездействии позволит предотвратить доступ злоумышленника, если пользователь вдруг отлучился от своего рабочего места. Значение задается в секундах
Мы перечислили основные параметры для повышения безопасности SSH-соединений, однако, можно выполнять и более тонкую настройку. Полный список команд можно найти в официальной документации.
Нельзя не упомянуть про эффективный инструмент борьбы с попытками аутентификации — утилите fail2ban. Это сервис, который читает лог безопасности и блокирует злоумышленников по IP. Штатно устанавливается при помощи apt:
После установки появляются два конфигурационных файла: /etc/fail2ban/fail2ban.conf и /etc/fail2ban/jail.conf. Первый отвечает за настройки запуска fail2ban, а второй за настройки защиты конкретных сервисов.
Заключение
Мы рассказали об основных настройках протокола SSH, которые помогут уберечь Ubuntu-сервер от несанкционированного доступа. Особенно важно их использовать при расположении сервера в публичных облаках с публичным IP-адресом. На скриншоте ниже вы видите журнал безопасности системы, на которой мы проводили перечисленные в этой статье настройки. В нем видно, что попытки авторизаций под разными пользователями (root, system и другими) происходят регулярно.
Перечисленных в этой статье настроек достаточно для обеспечения базовой безопасности сервера и предотвращения его вовлечения в бот-сети.
Установите SSH-сервер в Ubuntu Linux
SSH («безопасная оболочка») предлагает мощный набор инструментов для удаленного управления сетевыми компьютерами и передачи данных между сетевыми компьютерами. В этом посте я объясню, как установить SSH сервер в системе Ubuntu. Он должен работать на всех последних выпусках Ubuntu, включая 12.04 Precise Pangolin. Этот пост является обновленным и дополнением к моему предыдущему сообщению о том, как установить SSH-сервер в Ubuntu. Чтобы установить SSH-сервер в Linux, большинство пользователей прибегают к OpenSSH. Он предлагает безопасное зашифрованное соединение для удаленного администрирования систем с защитой от прослушивания и является единственным наиболее важным инструментом для администрирования Linux.
Установить SSH сервер
Если вы устанавливаете сервер Ubuntu, вы можете установить сервер OpenSSH с tasksel экрана, как показано на рисунке ниже. Фактически, при установке сервера Ubuntu вы можете в sudo tasksel любое время запустить команду, чтобы установить SSH-сервер и многое другое.
Установить SSH сервер
Ubuntu Tasksel – Выбор пакета
При установке на Ubuntu на рабочем столе или на сервере вы также можете напрямую установить серверный пакет OpenSSH, как и любой другой пакет. Чтобы установить SSH-сервер в Ubuntu, все, что вам нужно сделать, это установить серверный пакет OpenSSH, который легко доступен через репозитории. Используйте следующую команду для настройки SSH-сервера:
Рекомендуется для вас: узнайте больше об OpenSSH, PuTTY, туннелях и ключах
Настройте сервер SSH
Для того, чтобы установить SSH сервер очень легко, но делает его гораздо более безопасным, требует немного больше работы. После завершения установки отредактируйте /etc/ssh/sshd_config файл. Но прежде чем приступить к редактированию любого файла конфигурации, я предлагаю вам сделать резервную копию исходного файла:
Теперь используйте следующую команду для редактирования файла:
Первое, что вы захотите отредактировать, это порт, который прослушивает ваш SSH-сервер. По умолчанию SSH-сервер прослушивает порт 22. Все это знают. Поэтому для обеспечения безопасности соединения всегда рекомендуется запускать сервер SSH через нестандартный порт. Поэтому отредактируйте следующий раздел, чтобы выбрать случайный номер порта:
Второе необязательное изменение для повышения безопасности – перечисление пользователей, которым разрешен удаленный доступ к системе через SSH. Для этого добавьте следующую строку в конец sshd_config файла:
Замените user1 и user2 на фактические имена пользователей.
Единственное, что вы можете пожелать, X11Forwarding это установить «да». Это позволит вам запускать программное обеспечение на удаленном сервере в локальной системе. Если локальной системой является Windows, которая не поставляется с, X Server вы можете использовать бесплатные программы, такие как Xming.
После установки SSH-сервера и внесения любых изменений в файл конфигурации ( sshd_config ) вам придется перезапустить службу. Используйте следующую команду для перезапуска SSH:
Если вы настроили псевдонимы bash, как описано в этом посте, вы можете использовать ярлыки (например sshrestart ) для перезапуска вашего сервера OpenSSH.
Безопасная оболочка Ubuntu
Итак, установите SSH-сервер в вашей системе Ubuntu и начните пользоваться удаленным доступом. Теперь вы можете получить доступ к системным папкам и файлам через SFTP с помощью таких программ, как FileZilla.