Предлагаем Вашему вниманию небольшую инструкцию, в которой Вы узнаете для чего нужен SSH-ключ, как его создать и как добавить на сервер.
SSH-ключ — безопасный способ соединения с сервером. Подключение по SSH с помощью ключа исключает риск, который связан с подбором и взломом вашего пароля.
Для аутентификации используются два ключа: приватный и публичный.
Linux, MacOS, Windows 10
Эта инструкция подойдет для ОС Linux, MacOS, а также для версий Windows 10 начиная с 1809 — в них доступен встроенный SSH-клиент. Если у вас более ранняя версия Windows, воспользуйтесь инструкцией из пункта Старые версии Windows (без OpenSSH).
Создание SSH-ключей
Запустите терминал или Windows PowerShell на вашем компьютере и выполните команду:
ssh-keygen
Вы увидите примерно следующее сообщение:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Нажмите Enter — ключ будет сохранен в указанную директорию по умолчанию.
Далее вам будет предложено задать пароль (кодовую фразу) для ключа. Вы можете задать ее или оставить пустой, просто нажав Enter.
Процедура создания ключей завершена, ключи сохранены в директории ~/.ssh/ в файлах id_rsa и id_rsa.pub.
Можно скопировать значение публичного ключа прямо в терминале. Чтобы вывести его в терминал, выполните:
cat ~/.ssh/id_rsa.pub
Теперь публичный ключ необходимо скопировать на сервер. Вы можете вставить ключ самостоятельно на сервере в файл ~/.ssh/authorized_keys
, либо следуйте инструкции ниже.
Как добавить SSH ключ на сервер
Чтобы добавить созданный SSH-ключ на существующий сервер, выполните в терминале следующую команду, в зависимости от того, какая ОС установлена на вашем компьютере:
type .ssh/id_rsa.pub | ssh [email protected] "cat >> .ssh/authorized_keys"
где root — логин вашего сервера,
11.11.11.11 — IP-адрес сервера.
В результате содержимое файла с публичным ключом id_rsa.pub
будет скопировано в файл ~/.ssh/authorized_keys
на сервере, и в дальнейшем вы сможете устанавливать соединение с сервером без ввода пароля.
Старые версии Windows (без OpenSSH)
Пользователям Windows без OpenSSH необходимо скачать SSH-клиент PuTTY на официальном сайте (англоязычная версия) и установить. В его состав также входит специальная программа для генерации ключей PuTTYgen.
Запустите PuTTYgen и нажмите кнопку Generate:
Приведите в движение курсор мыши в окне программы для сбора случайных данных. Индикатор загрузки (зелёная полоска) отображает процесс генерации ключа:
После того как ключ будет создан, программа отобразит информацию с публичным ключом и отпечатком приватного ключа:
Скопируйте публичный ключ из окна Key и сохраните его на локальном компьютере. Также сохраните приватный ключ на компьютер с помощью кнопки Save private key.
Подключитесь к серверу по SSH и выполните команду для создания на сервере файла для хранения ключей:
mkdir .ssh
chmod 700 .ssh
cd .ssh
Создайте файл с вашим публичным ключом при помощи команды:
echo YOUR_PUBLIC_KEY >> authorized_keys
где YOUR_PUBLIC_KEY — ключ ранее скопированный из окна PuTTYgen.
Добавьте ваш приватный ключ в PuTTY (который сохранили при создании ключа):