Поднять ssh сервер linux

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

Читайте также:  Ftp in linux terminal

Следует заметить, что в таком случае серверу необходимо явно указывать, где хранятся открытые ключи пользователей. Это может быть как один общий файл для хранения ключей всех пользователей (обычно это файл 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 в Linux: руководство для начинающих

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

Читайте также:  Как устанавливать windows через bios asus

Но как настроить SSH как на стороне клиента, так и на стороне сервера? Узнайте, как установить и настроить программное обеспечение SSH на обоих концах и удаленно управлять своим компьютером Linux.

Что такое SSH?

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

Хотя SSH не дает вам доступа к среде рабочего стола удаленного компьютера, он позволяет использовать терминал. После подключения к удаленному компьютеру вы можете использовать его, как если бы он находился прямо перед вами. Только убедитесь, что у вас есть root-доступ.

Обратите внимание, что для Linux доступны и другие решения удаленного доступа. Например, пользователи Ubuntu могут положиться на VNC-совместимый инструмент удаленного рабочего стола Remmina.

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

Установка на стороне клиента

Установить и настроить SSH на клиенте очень просто. В некоторых случаях вам даже не понадобится дополнительное программное обеспечение:

  • Пользователи Linux должны найти SSH-клиент, встроенный в терминал.
  • На компьютерах с macOS в терминале предустановлен SSH.
  • На компьютерах с Windows потребуется использовать инструмент командной строки PowerShell или установить PuTTY.
  • Чтобы подключиться к Linux через SSH с iPhone и iPad, попробуйте iTerminal (4,99 доллара США).
  • Если вы используете Android для SSH, попробуйте JuiceSSH (бесплатно)

SSH не установлен в вашей системе Linux? Добавьте, обновив пакеты и обновив, а затем установив:

Раньше использовали SSH в Windows, но перешли на рабочий стол Linux? Возможно, вы пропустите настольное приложение SSH PuTTY с простым интерфейсом мыши. К счастью, его можно установить на рабочий стол Linux:

Установив клиентское программное обеспечение SSH, вы готовы установить соединение с удаленным компьютером или сервером.

Как правило, для всех настольных и мобильных клиентов все, что вам нужно, — это IP-адрес или имя хоста и соответствующие данные для входа. Хотя внешний вид приложений может отличаться, а имя порта может потребоваться ввести вручную, клиенты SSH в основном неразличимы.

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

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

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

Если SSH не включен на удаленном компьютере или сервере, установите его с помощью

Убедитесь, что это работало с

Команда должна запрещать ответ «активен».

Читайте также:  Windows 10 про активированная

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

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

Доступны и другие параметры ( stop , start и disable ) для настройки службы SSH.

Определить IP-адрес

Чтобы подключиться к удаленному устройству через SSH, вам необходимо знать IP-адрес машины. У вас есть два простых способа найти это:

  • Запустите команду терминала
  • Проверить роутер

Чтобы отобразить IP-адрес удаленной системы, войдите в систему и запустите

Это вернет IP-адрес устройства, поэтому запишите его. В более старых версиях Linux ifconfig могут быть лучшие результаты.

Вы также можете проверить свой маршрутизатор, чтобы увидеть подключенные устройства. ПК или сервер Linux будут перечислены, как правило, по имени операционной системы или устройства. Это должно упростить идентификацию.

Чтобы отобразить общедоступный IP-адрес, войдите на сервер и откройте whatsmyip.org.

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

Подключение к Linux через SSH

Наряду с правильным IP-адресом у вас также должны быть имя пользователя и пароль для доступа к удаленному компьютеру.

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

Обязательно замените имя пользователя фактическим именем пользователя, а REMOTE.IP.ADDRESS.HERE — IP-адресом удаленного устройства. Нажмите Enter, и вам будет предложено ввести пароль.

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

Используете настольный клиент SSH, например PuTTY?

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

Не могу подключиться? Устранение неполадок при настройке SSH

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

  • Программное обеспечение SSH не установлено ни на одном из компьютеров
  • Ваше имя пользователя или пароль неверны
  • Неправильный IP-адрес
  • Брандмауэр блокирует соединение или порт 22 не перенаправляется

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

Удаленное использование Linux через SSH

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

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

Ключевые примеры включают:

  • Обновление: sudo apt update && sudo apt upgrade
  • Проверить статус: uptime
  • Запущенные процессы: ps
  • Запуск процессов по ЦП: top

Настройте SSH и сделайте Linux более мощным

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

Если SSH настроен правильно, с включенным и настроенным клиентским и серверным программным обеспечением, возможен удаленный доступ из командной строки. Нужно что-то еще? Вот как удаленно управлять рабочим столом Linux из Windows.

Источник

Оцените статью