Главная >> Система >> Установка SSH в Ubuntu

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

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

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


Содержание статьи

Что такое SSH?

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

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

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

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

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

sudo apt install openssh-server

ssh

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

sudo systemctl enable sshd

ssh1

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

sudo systemctl disable sshd

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

ssh localhost

ssh3

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

ssh 0.0.0.0

ssh2

Точно таким способом вы можете получить 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:

ssh4

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

ssh5

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

ssh6

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

sudo systemctl restart ssh

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

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

ssh -p 2222 localhost 

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

sudo ufw allow 2222

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

sudo ufw allow 22

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

Выводы

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

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

20 комментариев к “Установка SSH в Ubuntu”

  1. Немного добавлю... После установки сервис ssh сам прописывается в автозагрузку и вручную этого делать не надо. А от себя добавлю: в 16.04 какого-то лешего убрали обращение к DNS (видно для лучшего быстродействия), но мне приятнее видеть "last login .... programmist.firma.lan" нежели просто ip адрес, по этому добавляем в конфиг "UseDNS yes" и все красиво...

    Ответить
    • Скорее всего ключ располжен неверно. Сгенерированный Вами публичный ключ с расширением *.pub нужно переименовать в authorized_keys (без расширения) и разместить по адресу ~/.ssh/ (домашний каталог, подкаталог .ssh). Т.е. полный путь к файлу должен быть ~/.ssh/authorized_keys.

      Ответить
  2. А расскажите про удаленную файловую систему? ))

    С небольшим опозданием пишу, как можно получить доступ к файлам через SSH. Мне это было нужно, чтобы на виртуальную машину с Ubuntu Server 20.04 скопировать файл с хоста.
    На клиент устанавливается Midnight Commander:
    $ sudo apt install mc
    Запускается:
    $ sudo mc
    На верхней панели выбирается соединение по SFTP:
    F9 -> Right -> SFTP link... -> имя-пользователя-сервера@ip-адрес-сервера
    Далее вводится пароль от сервера.
    IP-адрес сервера можно узнать командой
    $ ifconfig
    Для этого может потребоваться установка net-tools:
    $ sudo apt-get install net-tools

    Ответить
  3. Здравствуйте! Очень информативный сайт, спасибо вам большое. Познаю азы Убунты, интересно жуть 🙂

    В статье опечатка два раза указано " sudo systemctl enable sshd", но в первый раз "d" лишняя

    Ответить
  4. Дяд ты если пишешь статью для начинающих ты уже пиши ее до конца для начинающих.. постоянно на этом сайте встречаю непонятные (кажущиеся многим очевидными но лично мне неочевидные) вещи. что значит "нажав :w" ?

    Ответить
  5. читать: "набрав". так становится корректней.

    чтобы выйти из файла, сохранив изменения, нажмите:
    ESC : w ! Enter

    http://lib.ru/unixhelp/vi.txt

    а вообще можно использовать редактор попроще, например mcedit (он идёт в комплекте с файловым менеджером mc)

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

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

    Ответить
  7. Как подключиться из основной ОС в гостевую? Из гостевой в основную подключается без проблем, а наоборот никак. Экспериментировать с основной ОС не хочется совсем. Убунты 20.04 и в качестве основной, и в качестве гостевой.

    Ответить

Оставьте комментарий