0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Установка операционной системы Ubuntu (версия 16.04) на компьютер. Создание SSH сервера на базе Ubuntu и подключение к нему

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

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

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

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

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

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

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

Сразу же начните скачивание файлов сервера с официального репозитория. Для этого потребуется ввести 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 сервера.

Читать еще:  Как узнать, какого поколения процессор Intel

Что такое 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 -p 2222 localhost

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

sudo ufw allow 2222

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

sudo ufw allow 22

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

Выводы

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

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

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

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

В Ubuntu и родственных дистрибутивах используется свободная реализация клиента и сервера SSH — OpenSSH. И клиент, и сервер устанавливаются общей командой:

Как правило, SSH-клиент уже установлен в системе, поэтому данная команда доустановит SSH-сервер.

Установка пакетов SSH-сервера.

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

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

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

Пример файла /etc/ssh/sshd_config.

Повышаем безопасность SSH-сервера

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

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

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

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

Кстати, про IP-адреса. По умолчанию SSH-сервер в Ubuntu настроен на использование IPv4 и IPv6. Определяется это директивой AddressFamily .

Разрешены IPv4 и IPv6:

Разрешены только IPv4:

Разрешены только IPv6:

Следующим разумным шагом для повышения безопасности SSH-подключений будет отключение удаленного доступа для суперпользователя. По умолчанию доступ суперпользователю открыт только по ключу, а по паролю закрыт. Определяется это директивой PermitRootLogin , которая выставлена в значении prohibit-password (в OpenSSH до версии 7.0 without-password ).

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

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

Если же вы всё таки хотите разрешить суперпользователю доступ по SSH, директива должна выглядеть так:

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

Наверное, вы уже заметили, что в материалах про SSH упоминаются разные способы аутентификации (по логину/паролю и по ключу). Разберем оба способа подробнее.

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

Аутентификация по логину/паролю разрешена:

Аутентификация по логину/паролю запрещена:

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

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

Читать еще:  Игровой ПК 2020 за 130 тыс. руб.

Сам способ генерации зависит от используемого пользователем SSH-клиента. В том же PuTTY есть утилита PuTTY Key Generator (puttygen.exe), которая позволяет генерировать различные ключи, а не только RSA. О ней можете прочитать в этой статье. Но это что касается Windows.

Интерфейс PuTTY Key Generator.

В Linux сгенерировать ключи можно прямо в терминале. Для этого введите команду

Терминал выведет следующее сообщение:

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

При ответе на следующий вопрос тоже нажмите Enter.

После этого пара ключей будет создана, а на экран будет выведено сообщение следующего характера:

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

Ключ будет выведен в окне терминала.

Ну а для просмотра публичного ключа введите:

Вернемся к настройке SSH-сервера в Ubuntu. Первым делом отметим, что OpenSSH умеет работать как с протоколом SSH-1, так и с SSH-2. И оба поддерживают RSA-ключи. Но SSH-1 ныне считается небезопасным протоколом, поэтому рекомендуется использовать только SSH-2. Сделать это можно через следующую директиву:

За включение или выключение аутентификации по паре RSA-ключей отвечает директива PubkeyAuthentication . Для включения аутентификации задайте:

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

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

Если нужно задать отдельный файл для каждого пользователя, используйте:

Скорее всего, указанные файлы и каталоги не были созданы заранее в Вашей системе, создайте их и скопируйте туда публичные ключи (содержимое файла id_rsa.pub, который мы создали выше при генерации ключей) командой:

где user и server это имена пользователя и сервера соответственно.

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

Естественно, вместо 2002 может быть и другой порт.

В старых версиях OpenSSH нет скрипта ssh-copy-id , поэтому можно использовать другую команду:

Если вы подключаетесь с клиентской машины с Windows, то скопировать публичный ключ на сервер можно, например, через любой FTP-клиент (SFTP-клиент).

Кстати, про SFTP. Как известно, SSH-серверы позволяют передавать файлы через SFTP. И OpenSSH тут не исключение. Для включения SFTP добавьте в файл sshd_config строку:

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

DenyUsers — список пользователей, которым нельзя подключаться к SSH-серверу. По умолчанию не указан.

AllowUsers — список пользователей, которым можно подключаться к SSH-серверу. По умолчанию он также не указан, и это значит, что подключаться можно всем. Если занести в данный список пользователей, подключаться смогут только они. Если в списке будет один пользователь — подключаться сможет только он.

DenyGroups — список групп пользователей, которым нельзя подключаться к SSH-серверу. По умолчанию не указан.

AllowGroups — список групп пользователей, которым можно подключаться к SSH-серверу. По умолчанию не указан. Если занести в этот список группы (группу), то подключаться смогут только пользователи, входящие в эти группы (группу).

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

В этой статье вы узнаете как установить SSH в Ubuntu 16.04 LTS. Сразу скажу, что делается это очень быстро и легко. Главное следуйте инструкции по установке.

Что такое SSH?

Если вам интересно что такое SSH — это специальная так называемая полностью «Безопасная оболочка». Использует сетевой протокол прикладного уровня и туннелирование через TCP-соединений. Если говорить намного проще, то задача заключается в безопасной передаче файлов через специальные протоколы даже в незащищенной среде. Этот протокол позволяет довольно быстро шифровать данные и пароли. К тому же есть вариации при выборе способа шифрования, что делает его еще лучше. В принципе этот протокол можно назвать лучшим среди конкурентов.

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

Установка SSH Ubuntu 16.04 как мы сказали выше, очень легкая.

Вот как включить службу Secure Shell (SSH) в Ubuntu 16.04 Xenial Xerus, новый выпуск LTS, чтобы обеспечить безопасный удаленный вход в систему и другие сетевые коммуникации.

Ubuntu предоставляет OpenSSH (OpenBSD Secure Shell) в своих репозиториях юниверсов, который представляет собой набор утилит сетевого уровня, связанных с безопасностью, основанных на протоколе SSH.

1. Чтобы установить его, откройте терминал (Ctrl + Alt + T) или войдите в систему на сервере Ubuntu и выполните команду:

Sudo apt-get install openssh-server

2. После этого в вашей системе должен быть включен сервис SSH, вы можете проверить его статус, выполнив команду:

Sudo service ssh status

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

3. Вы можете изменить некоторые настройки (например, порт прослушивания и права доступа root), отредактировав конфигурационный файл с помощью команды:

Sudo nano / etc / ssh / sshd_config

На рабочем столе Ubuntu вы можете использовать gedit вместо nano:

Наконец, примените эти изменения, перезагрузив Ubuntu или перезагрузив SSH:

Sudo service ssh restart


Кроме того, вы можете прочитать официальную страницу руководства.

Выводы

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

Также если у вас остались какие-то вопросы по теме «Установка SSH Ubuntu 16.04» то можете писать их в форму комментариев на нашем сайте. Чтобы мы смогли предоставить вам ответ, постарайтесь как можно боле подробно описать вопрос. К примеру, сразу укажите характеристики своей системы, версию Ubuntu и соответственно подробное описание вопроса.

Если статья была для вас полезной, то обязательно длитесь ссылкой в Google+, Twitter, ВК, или, например Facebook.

Как установить и настроить сервер OpenSSH на Ubuntu 16.04

Главное меню » Операционная система Ubuntu » Как установить и настроить сервер OpenSSH на Ubuntu 16.04

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

Во-первых, давайте установим OpenSSH. Обновите индексы пакетов с помощью следующей команды:

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

Обратите внимание, что пакет сервера OpenSSH может быть уже установлен в вашей системе, как часть процесса первоначальной установки сервера. Кроме того, вы можете установить клиентское приложение OpenSSH с помощью следующей команды:

Настройка OpenSSH на Ubuntu 16.04

Перед внесением каких – либо изменений в конфигурации OpenSSH, хорошо знать, как управлять услугой OpenSSH на вашем Ubuntu VPS. Для запуска службы вы можете использовать следующую команду:

Чтобы остановить службу, вы можете использовать:

Чтобы перезапустить службу, вы можете использовать:

Чтобы проверить состояние службы вы можете использовать:

Чтобы включить службу на время загрузки системы вы можете использовать:

Читать еще:  Как собрать компьютер самому

Чтобы отключить службу на время загрузки системы вы можете использовать:

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

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

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

Измените ее на что-то другое. Например 2022

Сохраните файл и закройте его. Затем перезапустите службу, чтобы изменения вступили в силу.

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

Безопасный OpenSSH на Ubuntu 16.04

Одним из рекомендуемых способов защиты сервера при использовании OpenSSH, это отключить логин Root . Во- первых, создайте нового пользователя SUDO на сервере Ubuntu, а затем отредактируйте конфигурационный файл сервера OpenSSH. Найдите следующую строку:

и измените его на:

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

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

или вы можете посетить страницы вручную OpenSSH на https://www.openssh.com/manual.html.

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

Установка и настройка сервера 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.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector
×
×