Меню Рубрики

Установка ssh сервера для ubuntu

Установка и настройка сервера SSH в Linux

Secure Shell, т. е. SSH – протокол, обеспечивающий защищённые соединения и передачу данных между двумя удалёнными компьютерами. Изначально создавался на замену таким системам как rlogin и rcp. Как понятно из полного названия протокола, система SSH позволяет соединяться и управлять удалённым узлом (компьютером, маршрутизатором и т. д.), при этом защищая весь передаваемый трафик с помощью высоконадёжного шифрования.
SSH широко применяется администраторами серверов для их настройки и управления, да и обычные продвинутые пользователи — владельцы, например, сайтов или виртуальных серверов активно используют SSH для подключения к своей учётной записи на хостинге и использования командной оболочки сервера.
Сразу после окончания разработки система SSH стала активно трансформироваться в закрытый коммерческий продукт в виде версии SSH2. Но благодаря сообществу GNU версии протокола SSH1 и SSH2 были реализованы в виде открытого и свободно распространяемого ПО openSSH. В Linux-системах используется именно этот метапакет.
Метапакет SSH базово включает в себя сервер SSH (sshd) в качестве програмы-демона, а также несколько утилит: ssh – удаленная регистрация и выполнение команд, scp – передача файлов и ssh-keygen – для генерации пар SSH-ключей.

Установка пакетов SSH

Как уже говорилось система ssh в Linux-системах распространяется в виде составного метапакета, поэтому для установки всех требуемых утилит ssh нужно выполнить всего одну команду:
В Ubuntu

После чего начнется процесс установки

Как видно, менеджер пакетов сам распознает все зависимые и связанные пакеты и установит их. Также, по завершению установки, автоматически будет запущен SSH-сервер в режиме демона. Это можно проверить командой:
$ systemctl status sshd
или:
$ service sshd status даст тот же вывод. Теперь сервер работает с базовыми настройками по-умолчанию.

Настройка SSH

Режим работы SSH-сервера с настройками по-умолчанию хоть и является вполне работоспособным для небольших частных сетей, всё же нуждается в задании некоторых важных параметров для использования на высоконадёжных публичных серверах. Настройки демона хранятся в файле /etc/ssh/sshd_config. Посмотреть его можно командой

В первую очередь следует обратить внимание на следующие параметры: Port, AddressFamily, ListenAddress. Первый глобально задаёт номер порта, через который будет работать соединение и если оставить его стандартным, т. е. 22, то велика вероятность, что он будет слишком часто сканироваться роботами.
Примечание: для задания активации параметра необходимо раскомментировать соответствующую строку — убрать символ «#» в её начале.
Второй параметр задаёт семейство используемых IP-адресов — IPv4 и IPv6. Если, к примеру, используются только адреса IPv4, то очень рекомендуется установить для параметра

Для адресов семейства IPv6 используется значение inet6.
Параметр ListenAddress позволяет задавать порты для отдельных сетевых интерфейсов:

Поскольку реализация openSSH позволяет работать с протоколами SSH1 и SSH2, то разумно отключить использование SSH1, т. к. эта версия является устаревшей. Работа по SSH1 крайне не рекомендуется: Protocol 2
Очень полезным является параметр, позволяющий проводить авторизацию и шифрование трафика с помощью специальных SSH-ключей:

Следует заметить, что в таком случае серверу необходимо явно указывать, где хранятся открытые ключи пользователей. Это может быть как один общий файл для хранения ключей всех пользователей (обычно это файл etc/.ssh/authorized_keys), так и отдельные для каждого пользователя ключи. Второй вариант предпочтительнее в силу удобства администрирования и повышения безопасности:
AuthorizedKeysFile etc/ssh/authorized_keys # Для общего файла
AuthorizedKeysFile %h/.ssh/authorized_keys # Файл -> пользователь
Во втором варианте благодаря шаблону автоподстановки с маской «%h» будет использоваться домашний каталог пользователя.
Важно также отключать парольный доступ:

Или же, в случае, если всё-таки необходимо использовать доступ по паролю, то обязательно нужно отключать авторизацию по пустому паролю:

Для указания разрешённых или запрещённых пользователей и групп служат директивы DenyUsers, AllowUsers, DenyGroups, и AllowGroups. Значениями для них являются списки имён, разделяемых пробелами, например:

Следует также отключать root-доступ:

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

Читайте также:  Установки изготовления древесных брикетов

Настройки для алиасов хранятся либо глобально в /etc/ssh/ssh_config, либо раздельно для пользователей в

/.ssh/config. Здесь нужно не спутать с ssh_config! Пример:

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

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

где user_name – имя пользователя в системе, host_name – имя узла, к которому производится подключение, например:

При этом утилита ssh запросит (в зависимости от настроек сервера) логин, пароль или парольную фразу для разблокировки приватного ключа пользователя.
В случае авторизации по ключу, должна быть предварительно сгенерирована пара SSH-ключей — открытый, который хранится на стороне сервера, обычно в файле .ssh/authorized_keys в домашнем каталоге пользователя, и закрытый — используется для авторизации клиента и хранится, как правило, в каталоге .ssh/ домашней директории пользователя. Открытый ключ представляет собой «цифровой слепок» закрытого ключа благодаря которому сервер «знает», кто «свой», а кто «чужой».
Для генерации ключей используется утилита ssh-keygen:

Утилита предложит выбрать расположение ключей (лучше всё оставить по-умолчанию), обычно это каталог

/.ssh/, ввести парольную фразу для закрытого ключа. После чего будут сгенерированы открытый ключ id_rsa.pub и закрытый — id_rsa. Теперь нужно скопировать открытый ключ, т. е. «слепок» закрытого на сервер. Проще всего этого можно добиться командой:

Теперь можно выполнить подключение командой ssh и запустить защищённый сеанс удалённого управления.
Важно заметить, что использование сгенерированных openSSH-ключей несовместимо с PPK-форматом, используемым по-умолчанию в таких комплексах как PuTTY. Поэтому необходимо конвертировать имеющиеся openSSH-ключи в формат PPK. Удобнее всего это делать с помощью утилиты PuTTY – puttygen.exe.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

источник

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

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

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

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

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

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

Сразу же начните скачивание файлов сервера с официального репозитория. Для этого потребуется ввести sudo apt install openssh-server , а затем нажать на клавишу Enter.

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

По умолчанию клиент устанавливается вместе с сервером, но не лишним будет убедиться в его наличии, попытавшись инсталлировать его повторно с помощью sudo apt-get install openssh-client .

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

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

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

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

Если вам не нужно, чтобы инструмент стартовал вместе с ОС, удалите его с автозапуска путем ввода sudo systemctl disable sshd .

Теперь проверим, как производится подключение к локальному компьютеру. Примените команду ssh localhost (localhost — адрес вашего локального ПК).

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

Подтвердите продолжение подключения, выбрав вариант yes.

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

При каждом новом соединении необходимо будет его подтверждать.

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

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

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

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

Затем вторую: sudo chmod a-w /etc/ssh/sshd_config.original .

Запуск файла настроек выполняется через sudo vi /etc/ssh/sshd_config . Сразу же после ввода он будет запущен и вы увидите его содержание, как показано на скриншоте ниже.

Здесь вы можете изменять используемый порт, что всегда лучше сделать для обеспечения безопасности подключения, далее может быть отключен вход от имени суперпользователя (PermitRootLogin) и включена активация по ключу (PubkeyAuthentication). По завершении редактирования следует нажать на клавишу : (Shift + ; на латинской раскладке) и добавить букву w , чтобы сохранить изменения.

Выход из файла осуществляется таким же образом, только вместо w используется q .

Не забудьте перезапустить сервер, введя sudo systemctl restart ssh .

После изменения активного порта его нужно зафиксировать в клиенте. Делается это путем указания ssh -p 2100 localhost , где 2100 — номер замененного порта.

Если у вас настроен брандмауэр, там также требуется провести замену: sudo ufw allow 2100 .

Вы получите уведомление, что все правила были обновлены.

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

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

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

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

После этого будет сохранен публичный ключ и создастся секретное изображение. На экране вы увидите его вид.

Осталось только скопировать созданный файл на второй компьютер, чтобы отключить подключение через пароль. Используйте команду ssh-copy-id username@remotehost , где username@remotehost — имя удаленного компьютера и его IP-адрес.

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

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

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

источник

Установка ssh Ubuntu 16.04

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

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

Читайте также:  Установка круиз контроля kia sorento

Что такое SSH?

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

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

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

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

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

sudo apt install openssh-server

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

sudo systemctl enable sshd

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

sudo systemctl disable sshd

Что касается клиента ssh, то он уже установлен в системе по умолчанию. Сейчас вы можете попробовать подключиться к локальному ssh серверу просто набрав:

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

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

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

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

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

Перед тем как вносить изменения в этот конфигурационный файл рекомендуется сделать его резервную копию, для этого можете использовать такую команду:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults

Дальше вы можете перейти к настройке конфигурационного файла:

sudo vi /etc/ssh/sshd_config

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

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

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

После того как все настройки будут завершены, сохраните изменения нажав :w и перезапустите службу ssd:

sudo systemctl restart ssh

Более подробно про настройку и использование различных тонкостей ssh рассказано в статье как использовать ssh.

Если вы изменили порт, то при подключении в клиенте тоже нужно указать новый порт, так как по умолчанию будет использоваться 22, например:

К тому же, если на компьютере установлен и настроен брандмауэр, то в нем тоже нужно разрешить доступ к новому порту ssh, для этого выполните:

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

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

Выводы

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

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

источник

Добавить комментарий