Перейти к основному содержимому

Подключение к серверу с помощью ssh-key

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

  • Открытый (публичный) ключ можно свободно передавать, не опасаясь негативных последствий, его нужно скопировать на сервер, к которому в будущем будем подключаться.

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

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

Перед началом работы убедитесь, что на вашем локальном компьютере или ноутбуке есть ключ. Данные хранятся в домашней пользовательской директории, в папке .ssh, поэтому проверка файлов выполняется в этой же папке. Должны быть файлы id_rsa или id_rsa.pub – это частные ключи

Ниже описан пример на основе ОС Linux

Шаг 1. Если ключа нет или нет директории, можно выполнить команду в консоли вашего компьютера/ноутбука:

ssh-keygen-t rsa-b 2048

После будет несколько вопросов к вам, например:

Enter file in which to save the key (/home/user/.ssh/id_rsa):

В основном, рекомендуется просто оставить все как есть (просто нажмите Enter), таким образом генератор ключей создаст пару ключей в местоположении по умолчанию

При запросе на секретную фразу "Enter passphrase (empty for no passphrase):" укажите секретную или оставьте поле пустым и кликните Enter. Она не обязательна, однако если вы ее создадите, вам придется вводить ее каждый раз при подключении.

Шаг 2. Можете воспользоваться командой для открытия файла непосредственно в терминале, например:

nano ~/.ssh/id_rsa.pub

Эта команда откроет файл id_rsa.pub, где обычно хранится публичный ключ, в текстовом редакторе nano прямо в терминале.

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

Вид ключ имеет примерно следующий:

pub_key

Шаг 3. Теперь подключитесь к серверу и введите следующую команду:

mkdir -p.ssh

Эта команда создаст директорию, а если она уже присутствует, то ничего не произойдет

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

..sh/authorized_keys

Сохраняем файл комбинацией клавиш CTRL+o и выходим из редактора nano комбинацией клавиш CTRL+x

Шаг 4. Проверяем подключение.

Обратите внимание, что для SSH/FTP подключения, вам следует сначала добавить ваш IP адрес в список разрешенных, или разрешить доступ к серверу любого хоста (шаг №10 этой инструкции)

После этого проверяем с вашего локального компьютера/ноутбука подключение, используя команду

ssh Username@IP_address

где Username – ваш логин ssh пользователя IP_address – это IP адрес вашего сервера, или хост-нейм (например, vs0000.mirohost.net, в результате команда будет выглядеть ssh testuser@vs0000.mirohost.net

Шаг 5. Для папки с ключами (.ssh) и файла authorized_keys нужно установить следующие доступы, введя на сервере команду:

chmod 700 .ssh && chmod 600 .ssh/authorized_keys && chmod 755

Пример генерирования ssh-ключа с помощью PuTTY на Windows

Загрузка PuTTY и PuTTYgen

– Загрузите PuTTY [с официального сайта] (https://www.putty.org/). Вам понадобятся две программы: PuTTY и PuTTYgen

  • Установите PuTTY, если программа еще не установлена

Запуск PuTTYgen

  • Откройте PuTTYgen. Для этого можно найти его в меню "Пуск" или запустить puttygen.exe, находящийся в директории, куда был установлен PuTTY.

Генерация нового SSH-ключа В PuTTYgen выберите тип ключа, который вы хотите создать:

  • Для большей безопасности выберите RSA или Ed25519.
  • Если вы выбираете RSA, можете выбрать длину ключа (рекомендуется 2048 или 4096 бит для RSA).
  • Нажмите кнопку Generate. – Далее нужно будет сгенерировать случайные данные, двигая мышку в случайном порядке в окне PuTTYgen, чтобы ключ сгенерировался.

Сохранение ключа

– После генерации ключа увидите публичный ключ в PuTTYgen. Для удобства, можете указать комментарий к ключу в поле Key comment при желании.

  • Введите пароль в поле Key passphrase и Confirm passphrase (рекомендуется для дополнительной безопасности).
  • Нажмите кнопку Save private key и выберите место для сохранения приватного ключа (файл .ppk).

Чтобы сохранить публичный ключ, можно скопировать текст из поля Public key for pasting в OpenSSH authorized_keys file и сохранить его в отдельный файл (например, id_rsa.pub).

Использование ключа в PuTTY

  • Открытое PuTTY.
  • введи hostname или IP-адрес сервера в поле "Host Name (or IP address)".
  • В левом меню Category, перейдите к "Connection" -> "SSH" -> "Auth".
  • Нажмите кнопку "Browse..." и выберите ранее сохраненный частный ключ (файл .ppk).
  • Перейдите в "Session" и нажмите "Save" для сохранения сеанса с этой конфигурацией, или нажмите "Open", чтобы подключиться к серверу.

Также вам может понадобиться как подключиться по SSH