Как создать ключи SSH с помощью PuTTY для подключения к VPS
Преимущества открытых и закрытых ключей SSH
Если ваш безголовый или удаленный VPS виден через Интернет, вам следует использовать аутентификацию с открытым ключом вместо паролей, если это вообще возможно. Это потому, что ключи SSH
Сегодня OpenSSH является реализацией SSH по умолчанию в Unix-подобных системах, таких как Linux и OS X.
Когда вы входите в свой VPS DigitalOcean, сервер SSH использует открытый ключ для «блокировки» сообщений таким образом, что их можно «разблокировать» только с помощью вашего закрытого ключа. Этот
Логин SSH на основе ключей
Вы можете сохранить один и тот же открытый ключ на любом количестве облачных серверов, в то время как ваш закрытый ключ сохраняется на клиенте, с которого вы входите на сервер. Тогда ты можешь
Автоматизируйте создание новых капель
Еще одна полезная цель, которую могут использовать ключи SSH, — создание дроплетов DigitalOcean. Как известно, когда вы раскручиваете дроплет, вам нужно дождаться письма по электронной почте.
- Сначала заполните раздел этого руководства под названием Создание ключей, совместимых с OpenSSH, для использования с PuTTY.
- Затем перейдите к третьему шагу Как использовать ключи SSH с каплями DigitalOcean.
Предпосылки
В этом руководстве предполагается, что вы знакомы с руководством DigitalOceans по адресу
Генератор ключей PuTTY (он же PuTTYgen)
Хотя PuTTY является клиентской программой для SSH (в дополнение к Telnet и Rlogin), она не является портом или иным образом основана на OpenSSH. Следовательно, PuTTY не имеет
PuTTYgen — это (бесплатная) утилита с открытым исходным кодом, которую можно загрузить с
Генерация OpenSSH-совместимых ключей для использования с PuTTY
Чтобы сгенерировать набор ключей RSA с помощью PuTTYgen:
- Запустите утилиту PuTTYgen, дважды щелкнув ее файл .exe;
- В поле Тип генерируемого ключа выберите RSA.
- В поле Число битов в сгенерированном ключе укажите 2048 или 4096 (чем больше бит, тем сложнее взломать ключ методом полного перебора);
- Нажмите кнопку Создать;
- Наведите указатель мыши на пустую область раздела Ключ под индикатором выполнения (чтобы создать некоторую случайность), пока не появится индикатор выполнения. заполнен;
- Теперь сгенерирована пара закрытый/открытый ключ;
- В поле Комментарий к ключу введите любой комментарий, который поможет вам идентифицировать эту пару ключей позже (например, ваш адрес электронной почты, дом, офис и т. д.) -- комментарий к ключу особенно полезен, если вы создаете более одной пары ключей;
- Необязательно: введите фразу-пароль в поле Ключевая фраза-пароль и повторно введите ту же фразу-пароль в поле Подтвердить фразу-пароль (если вы хотите использовать свои ключи для автоматизированных процессов, однако вам не следует не создавать кодовую фразу);
- Нажмите кнопку Сохранить открытый ключ и выберите любое имя файла (некоторые пользователи создают на своем компьютере папку с именем my_keys);
- Нажмите кнопку Сохранить закрытый ключ и выберите любое имя файла (вы можете сохранить его в том же месте, что и открытый ключ, но это должен быть место, доступ к которому есть только у вас и которое вы НЕ потеряете! Если вы потеряете ключи и отключите вход по имени пользователя/паролю, вы больше не сможете войти в систему!);
- Щелкните правой кнопкой мыши текстовое поле с надписью Открытый ключ для вставки в файл авторизованных_ключей OpenSSH и выберите «Выбрать все»;
- Снова щелкните правой кнопкой мыши в том же текстовом поле и выберите Копировать.
ПРИМЕЧАНИЕ. PuTTY и OpenSSH используют разные форматы открытых ключей SSH. Если скопированный ключ SSH начинается с \---- BEGIN SSH2 PUBLIC
Сохраните открытый ключ на сервере
Теперь вам нужно вставить скопированный открытый ключ в файл ~/.ssh/authorized_keys на вашем сервере.
- Log in to your destination server; see How to Log Into Your Droplet with PuTTY (for windows users)
- If your SSH folder does not yet exist, create it manually:
- Paste the SSH public key into your ~/.ssh/authorized_keys file (see Installing and Using the Vim Text Editor on an Cloud Server):
- Tap the
i
key on your keyboard & right-click your mouse to paste. - To save, tap the following keys on your keyboard (in this order):
Esc
,:
,w
,q
,Enter
.
mkdir ~/.ssh chmod 0700 ~/.ssh touch ~/.ssh/authorized_keys chmod 0644 ~/.ssh/authorized_keys
sudo vim ~/.ssh/authorized_keys
Создайте профиль PuTTY, чтобы сохранить настройки ваших серверов
В PuTTY вы можете создавать (и сохранять) профили для подключений к вашим различным серверам SSH, поэтому вам не нужно запоминать и постоянно вводить избыточную информацию.
- Запустите PuTTY, дважды щелкнув исполняемый файл;
- Исходным окном PuTTY является категория Session (перемещайтесь по различным категориям PuTTY в левой части окна);
- В поле «Имя хоста» введите IP-адрес вашего VPS или его полное доменное имя (FQDN); см. Как настроить имя хоста с помощью DigitalOcean
- Введите номер порта в поле «Порт» (для дополнительной безопасности рассмотрите возможность изменения порта SSH вашего сервера на нестандартный порт. См. Шаг пятый из Начальная настройка сервера с Ubuntu 12.04
- Выберите SSH в разделе Протокол;
- В левой части окна выберите подкатегорию Данные в разделе Подключение;
- Укажите имя пользователя, которое вы планируете использовать при входе на сервер SSH, и чей профиль вы сохраняете, в поле Имя пользователя для автоматического входа;
- Разверните подкатегорию SSH в разделе Подключение;
- Выделите подкатегорию Auth и нажмите кнопку Обзор в правой части окна PuTTY;
- Просмотрите свою файловую систему и выберите ранее созданный закрытый ключ.
- Вернитесь в категорию Сеанс и введите имя для этого профиля в поле Сохраненные сеансы, например, user@123.456.78.9 или user@host.yourdomain.tld;
- Нажмите кнопку Сохранить для области Загрузить, Сохранить или Удалить сохраненный сеанс.
Теперь вы можете войти в систему под именем user@1.2.3.4, и вам не будет предложено ввести пароль. Однако, если вы установили кодовую фразу для своего открытого ключа, вас будет вводить парольную фразу в это время (и каждый раз при входе в систему в будущем).
Отключить входы по имени пользователя/паролю
После того, как вы убедились, что ваши входы в систему на основе ключей работают, вы можете отключить входы в систему с помощью имени пользователя и пароля для повышения безопасности. Для этого вам нужно
sudo vim /etc/ssh/sshd_config
Нажмите клавишу i
на клавиатуре и отредактируйте строки, указанные ниже:
[...] PasswordAuthentication no [...] UsePAM no [...]
Для сохранения коснитесь следующих клавиш на клавиатуре (в таком порядке): Esc
, :
, w
, q
, Введите
. Теперь перезагрузите
sudo reload ssh
Дополнительные ресурсы
- Как настроить ключи SSH | DigitalOcean;
- Как защитить SSH с помощью fail2ban в Ubuntu 12.04 | DigitalOcean;
- Как защитить SSH с помощью двухфакторной аутентификации | DigitalOcean;
- Как копировать файлы с помощью Rsync через SSH | DigitalOcean;
- Криптография с открытым ключом | Википедия;
- Часто задаваемые вопросы по PuTTY | Саймон Тэтэм.
Как всегда, если вам нужна помощь в выполнении шагов, описанных в этом руководстве, обратитесь за помощью к сообществу DigitalOcean, задав свои вопросы ниже.