Подключение к серверу с помощью 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 прямо в терминале.
Скопируйте ключ полностью, с первого символа до последнего, включая пользовательские данные и название ПК.
Вид ключ имеет примерно следующий:
Шаг 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