Как создать и разместить на сервере SSH-ключи
В этой статье мы расскажем о том, как создать SSH-ключ и добавить SSH-ключ на сервер.
При подключении к серверу по SSH для аутентификации обычно используется логин и пароль. Безопасность такого способа во многом зависит от сложности пароля: чем он сложнее, тем сложнее его подобрать. При каждом подключении к серверу придётся вводить этот пароль вручную или откуда-то копировать (например, из менеджера паролей).
Но есть способ, который упрощает вход на сервер и повышает безопасность подключения. Это аутентификация по SSH-ключу. Вам не придётся вводить пароль при каждом подключении к серверу по SSH. Аутентификация будет проходить по ключу, который хранится на вашем компьютере.
Всего для такой аутентификация используется два ключа:
- приватный ― этот ключ будет храниться на диске вашего компьютера. Его нельзя никому показывать и пересылать;
- публичный (открытый) ― его нужно будет поместить на сервер.
Ниже создадим пару ключей на вашем компьютере, а затем поместим открытый ключ на сервер.
Как создать SSH-ключ
Способы создания ключей в каждой ОС отличаются. Выберите вашу операционную систему и следуйте инструкции.
Linux
- Откройте терминал.
- Запустите генератор SSH-ключей:
ssh-keygen
- Выберите директорию, в которой хотите сохранить файл. Если хотите оставить путь по умолчанию, нажмите Enter.
- Для дополнительной защиты можно указать кодовую фразу. Она будет периодически запрашиваться при подключении к серверу. Если не хотите задавать фразу, пропустите этот шаг клавишей Enter.
Готово, приватный и открытый ключи сгенерированы и сохранены в директории, которую вы выбрали на 3 шаге.
Windows
В Windows есть несколько способов генерации ключа. Мы расскажем, как создать SSH-ключ в Windows при помощи утилиты «puttygen.exe». Для этого:
- Скачайте «puttygen.exe» на официальном сайте:
- Запустите утилиту и нажмите Generate:
- Двигайте курсором внутри окна, пока не заполнится полоса загрузки:
- Скопируйте публичный ключ и сохраните его в текстовом файле. Приватный ключ сохраните при помощи кнопки Save private key:
Готово, вы сгенерировали и сохранили SSH-ключи.
macOS
- Откройте терминал.
- Запустите генератор SSH-ключей командой:
ssh-keygen -t rsa
- Выберите директорию, в которой хотите сохранить файл. Если хотите оставить путь по умолчанию, нажмите Enter.
- Для дополнительной защиты можно указать кодовую фразу. Она будет периодически запрашиваться при подключении к серверу. Если не хотите задавать фразу, пропустите этот шаг клавишей Enter.
Готово, приватный и открытый ключи сгенерированы и сохранены в директории, которую вы выбрали на 3 шаге.
Как добавить SSH-ключ на сервер
Linux
- Откройте терминал.
- Скопируйте открытый ключ на сервер командой:
ssh-copy-id root@123.123.123.123
- root ― логин пользователя на сервере,
- 123.123.123.123 ― IP-адрес сервера. - Введите пароль от сервера.
Готово, вы добавили публичный ключ на сервер. Теперь при подключении с вашего компьютера пароль не будет запрашиваться.
Windows
- Подключитесь к серверу, на который нужно добавить открытый ключ, при помощи клиента PuTTy.
- Создайте директорию «.ssh» командой:
mkdir .ssh
- Измените права к папке командой:
chmod 700 .ssh
- Перейдите в директорию:
cd .ssh
- Создайте файл с публичным ключом:
echo your_public_key >> authorized_keys
- Добавьте приватный ключ в PuTTY. Для этого в левом меню SSH-клиента откройте SSH - Auth и нажмите Browse:
Готово, вы добавили ключ на сервер.
macOS
- Откройте терминал.
- Скопируйте открытый ключ на сервер командой:
ssh-copy-id root@123.123.123.123
- root ― логин пользователя на сервере,
- 123.123.123.123 ― IP-адрес сервера. - Введите пароль от сервера.
Готово, вы добавили публичный ключ на сервер. Теперь при подключении с вашего компьютера пароль не будет запрашиваться.