Как Настроить SSH-ключ
Введение
В этом руководстве вы узнаете, как настроить SSH-ключ на вашем локальном компьютере и использовать сгенерированные пары ключей для подключения к удалённому серверу. Этот метод является более удобным и предоставляет более защищенный путь для подключения к удалённому серверу или компьютеру, в отличии от простого использования пароля.
В дополнение, вы можете посмотреть данное руководство Как Подключиться к Вашему VPS Используя Терминал Putty SSH. Оно будет полезно тем, кто использует ОС Windows и не знает, как подключиться к серверу.
Оглавление
Что вам понадобится
Перед тем, как вы начнете это руководство, вам понадобится следующее:
- Доступ к вашему локальному компьютеру.
- Доступ к удаленному устройству.
- Терминал подходящий для SSH подключения.
Шаг 1 — Генерация и настройка SSH ключей
Вы можете сгенерировать и настроить RSA ключи на системе Linux/Unix, используя различные типы Терминалов, которые есть на ваш локальном устройстве.
После входа в Терминал, вы попадете в окно схожее с этим:
Здесь, вы должны начать вводить необходимые команды:
Первая вещь которую вам необходимо сделать, это сгенерировать пару ключей на вашем локальном компьютере. Вы можете сделать это простой командой:
ssh-keygen -t rsa
После ввода команды, вылезет несколько вопросов:
Enter file in which to save the key (/home/tautvydas/.ssh/id_rsa):
Введите файл в котором будут сохранены ключи (/home/tautvydas/.ssh/id_rsa): – перевод
В основном, рекомендуется просто оставить все как есть (просто нажмите Enter), таким образом генератор ключей создаст пару ключей в местоположении по умолчанию (в этом руководстве мы ввели другое имя для избежания дублирования ключей, так как на данном компьютере они уже присутствуют). Далее появятся еще два вопроса:
Enter passphrase (empty for no passphrase):
Введите пароль (оставьте пустым для отключения пароля): – перевод
Затем:
Enter same passphrase again:
Введите пароль повторно: – перевод
Для удобства оставьте это поле пустым. В таком случае, после того как вам удасться настроить SSH-ключ на удаленном сервере, вам не потребуется никаких паролей для входа. Как только вы введете команду ssh user@serverip, вы подключитесь к удаленному серверу. Команда будет работать до тех пор, пока ключи настроены правильно. Если вам нужна дополнительная безопасность, вы можете ввести пароль. В таком случае, вам будет необходимо вводить пароль при каждом подключении к удаленному устройству.
Далее, в вашем Терминале, вы должны увидеть результат схожий с таким:
Ваше сгенерированное изображение будет отличаться от изображенного выше. Также, как и отпечаток ключа.
ВАЖНО! Здесь было создано два ключа (ПРИВАТНЫЙ и ПУБЛИЧНЫЙ): tut_id и tut_id.pub (в вашем случае, должно быть id_rsa и id_rsa.pub). Позаботьтесь о сохранности ключа под названием id_rsa (это ПРИВАТНЫЙ ключ), держите его ТОЛЬКО на вашем локальном компьютере и НЕ ДАВАЙТЕ его НИКОМУ.
Другой файл, id_rsa.pub должен быть загружен на удаленное устройство. В случае, если вы и ваш друг работаете над одним и тем же проектом на одном удаленном сервере, вы оба можете загрузить ваши публичные ключи на этот удаленный сервер. В следующем шаге вы узнаете, как это сделать.
Шаг 2 — Копирование Публичного ключа на ваш удаленный сервер
После генерации пары RSA ключей, вам необходимо поместить ваши публичные ключи на удаленный сервер.
Существует простая команда, которая позволит вам поместить ваши публичные ключи напрямую в файл authorized_keys (этот файл хранит все публичные ключи) удаленного сервера:
ssh-copy-id user@serverip
Здесь вместо serverip, вам надо ввести адрес вашего удаленного сервера, и вместо user – имя пользователя сервера, к которому вы подключаетесь.
После того как вы введете эти команды, вы увидите Предупреждающее сообщение схожее по смыслу с этим:
The authenticity of host 'Server's IP address' can't be established. RSA key fingerprint is ... Are you sure you want to continue connecting (yes/no)?
Впишите yes в командную строку и нажмите Enter для продолжения. Это сообщение появляется лишь при первом выполнении данных действий.
Появится другое сообщение:
Warning: Permanently added 'SERVER IP' (RSA) to the list of known hosts. user@serverip's password:
Здесь, вы должны вписать пароль пользователя удаленного сервера (в большинстве случаев это root). После ввода пароля, выйдет сообщение о добавлении ключей:
Now try logging into the machine, with "ssh 'user@serverip'", and check in: ~/.ssh/authorized_keys* to make sure we haven't added extra keys that you weren't expecting.
Новые публичные ключи были добавлены на ваш удаленный сервер. Теперь вам не надо будет вводить пароль, при каждом входе на ваш удаленный сервер (если вы не установили пароль для вашего RSA ключа в процессе генерации).
Заключение
В этом руководстве вы научились, как настроить SSH-ключи на вашем удаленном сервере. Также вы узнали, как сгенерировать пару приватных/публичных ключей для более безопасного и удобного соединения с сервером.