Поиск по сайту:

Как создать ключи 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:

  1. Запустите утилиту PuTTYgen, дважды щелкнув ее файл .exe;
  2. В поле Тип генерируемого ключа выберите RSA.
  3. В поле Число битов в сгенерированном ключе укажите 2048 или 4096 (чем больше бит, тем сложнее взломать ключ методом полного перебора);
  4. Нажмите кнопку Создать;
  5. Наведите указатель мыши на пустую область раздела Ключ под индикатором выполнения (чтобы создать некоторую случайность), пока не появится индикатор выполнения. заполнен;
  6. Теперь сгенерирована пара закрытый/открытый ключ;
  7. В поле Комментарий к ключу введите любой комментарий, который поможет вам идентифицировать эту пару ключей позже (например, ваш адрес электронной почты, дом, офис и т. д.) -- комментарий к ключу особенно полезен, если вы создаете более одной пары ключей;
  8. Необязательно: введите фразу-пароль в поле Ключевая фраза-пароль и повторно введите ту же фразу-пароль в поле Подтвердить фразу-пароль (если вы хотите использовать свои ключи для автоматизированных процессов, однако вам не следует не создавать кодовую фразу);
  9. Нажмите кнопку Сохранить открытый ключ и выберите любое имя файла (некоторые пользователи создают на своем компьютере папку с именем my_keys);
  10. Нажмите кнопку Сохранить закрытый ключ и выберите любое имя файла (вы можете сохранить его в том же месте, что и открытый ключ, но это должен быть место, доступ к которому есть только у вас и которое вы НЕ потеряете! Если вы потеряете ключи и отключите вход по имени пользователя/паролю, вы больше не сможете войти в систему!);
  11. Щелкните правой кнопкой мыши текстовое поле с надписью Открытый ключ для вставки в файл авторизованных_ключей OpenSSH и выберите «Выбрать все»;
  12. Снова щелкните правой кнопкой мыши в том же текстовом поле и выберите Копировать.

ПРИМЕЧАНИЕ. PuTTY и OpenSSH используют разные форматы открытых ключей SSH. Если скопированный ключ SSH начинается с \---- BEGIN SSH2 PUBLIC

Сохраните открытый ключ на сервере

Теперь вам нужно вставить скопированный открытый ключ в файл ~/.ssh/authorized_keys на вашем сервере.

  1. Log in to your destination server; see How to Log Into Your Droplet with PuTTY (for windows users)
  2. If your SSH folder does not yet exist, create it manually:
  3. mkdir ~/.ssh
    chmod 0700 ~/.ssh
    touch ~/.ssh/authorized_keys
    chmod 0644 ~/.ssh/authorized_keys
  4. Paste the SSH public key into your ~/.ssh/authorized_keys file (see Installing and Using the Vim Text Editor on an Cloud Server):
  5. sudo vim ~/.ssh/authorized_keys
  6. Tap the i key on your keyboard & right-click your mouse to paste.
  7. To save, tap the following keys on your keyboard (in this order): Esc, :, w, q, Enter.

Создайте профиль PuTTY, чтобы сохранить настройки ваших серверов

В PuTTY вы можете создавать (и сохранять) профили для подключений к вашим различным серверам SSH, поэтому вам не нужно запоминать и постоянно вводить избыточную информацию.

  1. Запустите PuTTY, дважды щелкнув исполняемый файл;
  2. Исходным окном PuTTY является категория Session (перемещайтесь по различным категориям PuTTY в левой части окна);
  3. В поле «Имя хоста» введите IP-адрес вашего VPS или его полное доменное имя (FQDN); см. Как настроить имя хоста с помощью DigitalOcean
  4. Введите номер порта в поле «Порт» (для дополнительной безопасности рассмотрите возможность изменения порта SSH вашего сервера на нестандартный порт. См. Шаг пятый из Начальная настройка сервера с Ubuntu 12.04
  5. Выберите SSH в разделе Протокол;
  6. В левой части окна выберите подкатегорию Данные в разделе Подключение;
  7. Укажите имя пользователя, которое вы планируете использовать при входе на сервер SSH, и чей профиль вы сохраняете, в поле Имя пользователя для автоматического входа;
  8. Разверните подкатегорию SSH в разделе Подключение;
  9. Выделите подкатегорию Auth и нажмите кнопку Обзор в правой части окна PuTTY;
  10. Просмотрите свою файловую систему и выберите ранее созданный закрытый ключ.
  11. Вернитесь в категорию Сеанс и введите имя для этого профиля в поле Сохраненные сеансы, например, user@123.456.78.9 или user@host.yourdomain.tld;
  12. Нажмите кнопку Сохранить для области Загрузить, Сохранить или Удалить сохраненный сеанс.

Теперь вы можете войти в систему под именем 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, задав свои вопросы ниже.