Linux: Руководство по быстрому старту с OpenSSH

Опубликовано

На все данные актуальны

Здесь мы рассмотрим пример того, как можно подключиться к удаленной виртуальной машине или серверу от СЕРВЕР МОЛЛ Cloud для управления ими, используя OpenSSH через терминал Linux. В примере клиентская и серверная системы находятся под управлением ОС Ubuntu 22.04, однако для других дистрибутивов Linux порядок действий будет схожим. Отличаться у разных дистрибутив могут процедуры установки OpenSSH, которые описаны в разделах “Установка SSH-сервера” и “Установка SSH-клиента”, а также процедура выделения полномочий пользователям, описанная в разделе “Создание нового пользователя”.

В большинстве наших образов дистрибутивов ОС на базе Linux уже установлен сервер OpenSSH. Если вы хотите подключиться к виртуальной машине или серверу с предустановленным сервером OpenSSH от имени пользователя netadmin (root), а не нового, созданного вами, пользователя, то шаги, приведенные в разделе “Действия на Сервере“, выполнять не требуется.

Предварительные условия

  1. Клиентская и серверная системы должны быть под управлением операционных систем на базе Linux.
  2. В клиентской и серверной системе должен быть доступен терминал Linux.
  3. Серверная система должна работать на виртуальной машине или сервере СЕРВЕР МОЛЛ Cloud.

Процедура подключения

I. Действия на Сервере

  1. Подключаемся к виртуальной машине или серверу.
    Подключение осуществляем через консоль панели управления СЕРВЕР МОЛЛ Cloud, как описано в разделе “Подключение через консоль”.
  2. Обновляем информацию об актуальных версиях доступных системе пакетов:
        sudo apt update
    
  3. Устанавливаем OpenSSH для сервера:
        sudo apt install openssh-server
    Если вы хотите управлять удаленно от имени root пользователя сервера, то шаги 4-6 по созданию нового пользователя можно пропустить и перейти сразу к разделу “Действия на Клиенте”.
  4. Создаём нового пользователя и домашний каталог для него:
        useradd newuser1 -d /home/newuser1 -m
  5. Задаем пароль для нового пользователя:
        passwd newuser1

    На запрос:
        New password:

    Придумываем пароль пользователя, вводим его и нажимаем кнопку Enter, затем повторяем ввод пароля и снова нажимаем Enter. В процессе ввода пароль не будет отображаться на экране.
  6. Добавляем нового пользователя в группу с привилегиями Sudo, если это нужно:
        usermod -aG sudo newuser1

    Серверная часть готова к подключению, переходим к клиентской.

II. Действия на Клиенте

  1. Заходим в терминал Linux.
  2. Обновляем информацию об актуальных версиях доступных системе пакетов:
        sudo apt update
  3. Устанавливаем OpenSSH для клиента:
        sudo apt install openssh-client
  4. Создаём ключевую пару:
        ssh-keygen
    
    На запрос:
        $ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/client_user/.ssh/id_rsa):
    Отвечаем нажатием клавиши Enter. Это будет означать, что расположение и имя ключевой пары будут установлены по умолчанию. Или можете ввести свой путь к ключу, тогда придется также указывать его при копировании ключа и при соединении с сервером. На запрос:
        Enter passphrase (empty for no passphrase):
    
    Придумываем и вводим парольную фразу, которая будет вводиться при каждом использовании закрытого ключа, затем нажимаем Enter. Повторно вводим парольную фразу и снова нажимаем Enter. Если парольные фразы не соответствуют, то повторяем ввод. После успешного ввода парольной фразы ключевая пара будет сгенерирована и сохранена в указанном месте.
  5. Пересылаем публичный ключ на Сервер:
        
    ssh-copy-id newuser1@203.0.113.12
    
    IP-адрес берем в письме о готовности виртуальной машины или сервера к работе, также его можно получить в панели управления СЕРВЕР МОЛЛ Cloud:
    – Для виртуальной машины: Fixed IP Address в разделе Interfaces.
    – Для выделенных серверов: IP Addresses: в разделе Details.

    Имя пользователя указываем то, которое использовали при создании пользователя на Сервере, или используем имя root.

    На запрос:
        ssh-copy-id newuser1@203.0.113.12
    
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/client_user/.ssh/id_rsa.pub"The authenticity of host '203.0.113.12 (203.0.113.12)' can't be established.
    
    ECDSA key fingerprint is SHA256:tXw8aipJLааL4KBAjCaBvHU7K//HzkXuTtdLij2yJ2U.
    
    Are you sure you want to continue connecting (yes/no/[fingerprint])?

    Отвечаем, набрав на клавиатуре yes и нажав кнопку Enter, подтверждая своё намерение подключиться к незнакомому хосту.

    На запрос:
        /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    newuser1@203.0.113.12's password:

    Вводим пароль пользователя, который присвоили новому пользователю на Сервере, и нажимаем Enter. Если вы указывали имя пользователя root, то пароль к нему вы можете взять из письма о готовности виртуальной машины или сервера к работ, которое было направлено вам на электронную почту.
  6. Подключаемся к удаленному серверу:
        ssh newuser1@203.0.113.12

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

    На запрос:
        $ ssh newuser1@203.0.113.12Enter passphrase for key '/home/client_user/.ssh/id_rsa':

    Вводим парольную фразу, которую использовали при создании ключевой пары на шаге 4 и нажимаем Enter.

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

    Прервать соединение с сервером и выйти в терминал клиента вы можете введя команду Exit и нажав Enter.

Подробно об этапах подключения через OpenSSH:

  1. Установка SSH-сервера.
  2. Создание нового пользователя.
  3. Установка SSH-клиента.
  4. Генерация ключевой пары.
  5. Передача публичного ключа на сервер.
  6. Подключение к серверу через SSH.