Как использовать ключи SSH для сетевого подключения

С помощью сетевого протокола SSH можно создавать безопасные и зашифрованные сетевые соединения на удаленных устройствах, например, на сервере. Такое SSH-соединение позволяет пользователям выполнять процедуры обслуживания с помощью команд или непосредственно с локальных компьютеров. В зависимости от используемой версии протокола могут применяться различные алгоритмы шифрования — SSH-2, например, по умолчанию использует AES. Прежде чем соединение будет зашифровано, необходимо провести успешную аутентификацию. Хотя сервер выдает сертификат безопасности для клиента, на самом деле существует множество способов регистрации клиента на сервере. В дополнение к популярным вариантам имен пользователей и паролей, выбор пары ключей также оказывается популярным благодаря тому, что в ее состав входят как закрытые, так и открытые ключи SSH.

Аутентификация с открытым ключом

Методы аутентификации с помощью ключей SSH, также называемые аутентификацией с открытым ключом, имеют преимущества по сравнению со стандартным входом по паролю. Этот метод не сохраняет используемые пароли на сервере; вместо этого они хранятся только на открытых ключах. Это позволяет хранить приватный SSH-ключ на собственном компьютере в надежном и безопасном месте. Такие ключи могут быть зашифрованы с помощью идентификатора. Открытый ключ способен проверять подписи, созданные с помощью ключей SSH, что позволяет автоматически регистрироваться на сервере. Если неавторизованные пользователи получат доступ к открытому ключу, расшифровать закрытый вариант на основе этой информации будет практически невозможно. Таким образом, использование пары ключей для SSH-соединения избавляет пользователей от необходимости проходить диалог регистрации, а также обеспечивает более надежную защиту.

Переход на SSH-ключи — вот как это сделать

Для использования всех преимуществ SSH-соединений необходим SSH-пакет, такой как OpenSSH для Unix, WinSCP для Windows или PuTTY для операционных систем Unix и Windows. Помимо протокола SSH, эти пакеты используют приложения, которые могут генерировать ключи SSH. В следующем пошаговом руководстве описано, как настроить пары ключей с помощью OpenSSH и PuTTY.

Настройка ключей SSH с помощью OpenSSH

  1. Для начала необходимо сгенерировать SSH-ключ, введя следующую команду:

    ssh-keygen -t rsa -b 4096

    Эти параметры определяют тип используемого шифрования, которым в данном конкретном случае является RSA, и длину ключа (-b), хотя максимальное значение не может превышать 4096. Если параметры не указаны, то для генерации ключа будут использоваться стандартные настройки.

  2. Следующий диалог позволяет пользователям увидеть и изменить каталог, в котором будет храниться ключ SSH («Enter file in which to save the key»). На этом этапе также можно задать парольную фразу для закрытого ключа («Введите парольную фразу»). Если вы предпочитаете использовать стандартный каталог и не хотите создавать метку для своего ключа, оставьте эти поля пустыми и пропустите, нажав Enter.
  3. Теперь оба SSH-ключа хранятся в разных файлах в вышеупомянутом каталоге. Файл id_rsa.pub содержит открытый ключ, который теперь нужно записать на сервер в подпапку .ssh’s, файл authorized_keys. На сервере переместите ключ в домашний каталог соответствующего пользователя:

    scp ~/.ssh/id_rsa.pub USER@HOST.com.

  4. Войдите на сервер и скопируйте открытый SSH-ключ в нужную папку:

    ssh USER@HOST.com
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

  5. Теперь пара ключей, а также парольная фраза (если она определена) должны автоматически использоваться при создании SSH-соединения. Если это не так, проверьте, правильно ли назначены права на папку .ssh и файл authorized_keys.
  6. Учитывая, что аутентификация с открытым ключом заменяет обычную аутентификацию по паролю, пользователи могут отключить стандартную процедуру в файле конфигурации SSH /etc/ssh/sshd_config (или также непосредственно в /etc/, z. B. в Cygwin). Измените строку «PasswordAuthentication yes» на, как вы догадались, «PasswordAuthentication no», а затем перезапустите сервер.

Генерация SSH-ключа с помощью PuTTY Key Generator

  1. Те, кто использует PuTTY для установления SSH-соединения, имеют возможность использовать стандартный инструмент PuTTYgen для генерации пар ключей. Putty Key Generator можно найти в том же каталоге, где вы установили PuTTY. Если инструмент отсутствует, то просто загрузите его со страницы загрузки PuTTY: PuTTY Download Page
  2. После начала работы выберите в разделе «Параметры» тип шифрования, который вы хотите использовать. Для SSH-2 пользователи могут выбирать между RSA и DAS. Определите длину желаемого ключа в разделе «Количество бит в генерируемом ключе».
  3. Затем нажмите на кнопку «Generate» и перемещайте курсор в пустом пространстве диалогового окна вперед-назад, чтобы гарантировать индивидуальность кода.
  4. После завершения генерации ключа у вас появилась возможность снабдить пару ключей комментарием и парольной фразой.
  5. Сохраните оба ключа SSH, нажав «Сохранить закрытый ключ» и «Сохранить открытый ключ».
  6. Для того чтобы передать открытый ключ на сервер, подключитесь с ним к PuTTY, а затем скопируйте код из буфера обмена. («Открытый ключ для вставки в файл authorized_keys OpenSSH») и вставьте его в файл authorized_keys.
  7. На последнем этапе введите закрытый SSH-ключ в клиент PuTTY. Откройте меню конфигурации и выберите в разделе «Category» > «Connection» > «SSH» > «Auth» > «Private key file authentification» файл закрытого ключа.

Хотите сделать свой сайт более безопасным? Узнайте больше о SSL-сертификатах от IONOS и о том, как они повышают надежность вашего сайта.

Оцените статью
cdelat.ru
Добавить комментарий