Куда нужно вставлять приватный ключ
Перейти к содержимому

Куда нужно вставлять приватный ключ

  • автор:

Где мой Приватный ключ?
Где притаился и прячется pKey ? Как найти мой секретный ключ

Где мне найти мой Private Key? — общий ответ — Приватный ключ находится рядышком с сертификатом в секретной, специальной, защищенной директории вашего сервера (компьютера) которая обычно называется хранилищем сертификатов.

Что такое private key (pKey) зачем он нужен и с чем его едят?

Для всех SSL-сертификатов для работы требуется закрытый ключ. Закрытый ключ — это отдельный файл, который используется при шифровании / расшифровке данных, отправляемых между вашим сервером и подключающимися клиентами. Закрытый ключ создается вами — владельцем сертификата — когда вы запрашиваете свой сертификат с помощью запроса подписи сертификата (CSR). Центр сертификации, предоставляющий ваш сертификат, не создает и не имеет ваш закрытый ключ. Вы храните ваш Приватный ключ как зеницу ока.

Если вы еще не установили свой сертификат, наиболее вероятное местоположение вашего закрытого ключа находится на компьютере или сервере, на котором вы создали CSR. Когда вы сгенерировали эту CSR, вы бы попросили сервер сохранить два файла — для OpenSSL вы можете запустить команду

openssl version –a

чтобы найти папку, в которой будут сохраняться ваши файлы ключей — /usr/local/ssl по умолчанию. В Windows (IIS) процессом создания приватного ключа и запроса CSR управляет операционная система. Она предложит вам создать приватный ключ и потом сделать его экспорт в желаемую директорию

Где же находится мой Private Key

Если ваш сертификат уже установлен, выполните следующие действия, чтобы найти файл секретного ключа для этих популярных операционных систем.

Apache

Местоположение вашего личного ключевого файла будет указано в главном файле конфигурации Apache, который называется httpd.conf или apache2.conf. Директива SSLCertificateKeyFile укажет путь на вашем сервере, где хранится ваш ключ.

Nginx

Вы сможете найти местоположение секретного ключа в файле виртуальных хостов вашего сайта. Перейдите к серверному блоку для этого сайта (по умолчанию в каталоге /var/www/). Откройте основной файл конфигурации для сайта и найдите директиву ssl_certificate_key которая предоставит вам путь к файлу для частного ключа (некоторые пользователи имеют отдельный файл конфигурации для своего SSL, например ssl.conf).

Windows (IIS)

На серверах Windows ОС управляет вашими файлами сертификатов для вас в скрытой папке, но вы можете получить закрытый ключ, экспортировав файл «.pfx», содержащий сертификаты и закрытый ключ. Подробнее процедура трансфера описана в разделе Экпорт-Ипорт сертификатов

Где еще может быть мой приватный ключ?

Если вы работаете с сервером, который обеспечивает рабочие соединения HTTPS, то ключ находится где-то на этом сервере или доступен для этого сервера на другом сервере, в противном случае протокол HTTPS работать не будет. Возможно, ваша организация использует специальную настраиваемую конфигурацию. Вы можете попробовать выполнить поиск на вашем сервере файла «.key» или выполнить шаги, по установке нового сертификат, которые должны указать где сохранить частного ключ. На некоторых платформах OpenSSL сохранит файл .key в том же каталоге, откуда была запущена команда -req

Если вы еще не установили сертификат и не можете найти ключ, возможно, он утерян. Если вы создали CSR, но не можете найти файл ключа, проще всего переиздать свой сертификат. Начните с создания нового PrivateKey или CSR , чтобы сохранить закрытый ключ в известном местоположении и соедините сертификат с этим новым ключом.

Частный, секретный, приватный ключ является «ключевым ключом», который расшифровывает зашифрованные данные, отправленные на сервер во время сеанса SSL. Если секретный ключ был скомпрометирован, зашифрованные данные могут быть легко дешифрованы тем, кто получил этот закрытый ключ. Таким образом, жизненно важно, чтобы закрытый ключ оставался защищенным на сервере в любое время. Открытый ключа встроена в файл CSR и отправляется в компанию CA. При одобрении и выдаче сертификата SSL компания Центр сертификации в цифровом виде подписывает открытый ключ и отправляет его вам для установки на сервер в соответствии с вашим закрытым ключом.

Чтобы в общем ответить на вопрос «Где мой закрытый ключ?» — Приватный ключ храниться на сервере или в любом случае доступен серверу. Как управлять частным ключом и где он может быть найден, все зависит от используемого серверного программного обеспечения. Все серверные программные платформы будут управлять ими по-разному, поэтому, пожалуйста, обратитесь к поставщику вашего сервера или в службу поддержки, если вы не можете найти их на своем сервере.

Как найти или восстановить секретный ключ SSL сертификата в среде IIS MicroSoft?

SSL-сертификат установлен, но отсутствует закрытый ключ. Каковы шаги по восстановлению секретного ключа сертификата SSL в среде Microsoft Internet Information Services (IIS)? Сертификаты SSL не включают закрытый ключ. Закрытый ключ находится на сервере, который сгенерировал запрос подписи сертификата (CSR). При правильной установке сертификат сервера будет соответствовать закрытому ключу, как показано ниже.

  • Сертификат устанавливается не на том же сервере, на котором сгенерирован запрос CSR.
  • Отложенный запрос — CSR был удален из IIS.
  • Сертификат был установлен с помощью мастера импорта сертификатов, а не через IIS.

Решение: Чтобы восстановить закрытый ключ, выполните следующие действия.

Шаг 1. Конфигурация оснастки

  1. Нажмите кнопку Пуск и выберите команду Выполнить .
  2. Введите mmc и нажмите OK .
  3. В меню «Файл» выберите « Добавить / удалить оснастку» .
  4. В появившемся новом окне нажмите « Добавить» .
  5. Выберите « Сертификаты» и нажмите « Добавить» .
  6. Выберите опцию « Учетная запись компьютера» и нажмите « Далее»
  7. Выберите « Локальный компьютер» и нажмите « Готово»
  8. Нажмите « Закрыть» , а затем « ОК» . В консоли появится оснастка для сертификатов (локальный компьютер)

Шаг 2 — Импорт сертификата сервера

    Разверните дерево сертификатов (локальный компьютер) в левой панели предварительного просмотра.

Щелкните правой кнопкой мыши Личные и выберите « Все задачи> Импорт»

  • Откроется мастер импорта сертификатов. Нажмите « Далее» .
  • Перейдите к местоположению файла сертификата сервера и нажмите « Далее»

    Выберите « Разместить все сертификаты» в следующем хранилище и нажмите « Далее» .

    Нажмите « Готово», чтобы завершить мастер импорта сертификатов.

    Появится диалоговое окно с сообщением об успешном завершении импорта. Нажмите « ОК» .

      Найдите файл сертификата сервера (например, server.cer) и дважды щелкните его. Откроется диалоговое окно «Сертификат».

    Перейдите на вкладку « Сведения ». Запишите 8-значный серийный номер сертификата.

  • Нажмите Пуск> Выполнить .
  • Введите cmd и нажмите OK . Откроется окно командной строки.
  • Введите в командной строке следующую команду:

    certutil –repairstore my

    Если Windows смог восстановить закрытый ключ, вы увидите следующее сообщение:

    CertUtil: -repairstore command completed successfully.

     DV OV EV WC SAN PRO CodeSign Email PDF Wi-Fi IoT ALL Купить сертификат

    NO russia - мы не осблуживаем резидентов из россии

    Copyright © 1997-2024 adgrafics

    Почему SSH-ключ — безопасная альтернатива паролю

    Рассказываем о SSH-ключах: какие бывают, как генерировать и где хранить.

    Изображение записи

    Мы используем пароли, чтобы войти в учетную запись в соцсети, почту, панель управления Selectel. С помощью пароля также можно зайти на арендованный сервер. У этого, правда, есть весомые недостатки. О них и более безопасной альтернативе — SSH-ключах — мы расскажем в тексте.

    Пароли: их особенности и минусы

    Связка логин/пароль используется для авторизации в системе. Проще говоря, для того, чтобы приложение, операционная система — все, что стоит за окошком с вводом пароля, поняло, что вы — это действительно вы.

    Пароли — это привычно и просто. Но их использование влечет ряд недостатков:

    • Пароль можно подобрать. Часто мы выставляем пароли, которые легко запомнить. А значит, это какие-то сочетания слов или цифр. Есть способы создать более безопасный пароль — использовать случайный набор букв и цифр, генерировать длинный пароль. Но это приводит к следующей проблеме.
    • Безопасные пароли, особенно если их много, практически невозможно запомнить. В итоге, если вы все-таки забыли какой-то из них, придется тратить время и силы на восстановление.
    • Часто (как раз из-за пункта 2) люди останавливают один и тот же «проверенный» пароль на множество аккаунтов. В итоге, если пароль «утечет», злоумышленник получит доступ сразу к нескольким вашим аккаунтам.
    • Наконец, связку логин/пароль можно подсмотреть.

    Теперь представим, что у вас парк серверов, где расположены критические сервисы компании. К каждому серверу — отдельный пароль, их нужно где-то записывать, хранить. Желательно с учетом правил безопасности.

    Добавим, что серверы — очень популярная цель для злоумышленников. Поскольку они постоянно «смотрят» в интернет, машины подвергаются брутфорсу, или подбору паролей. По наблюдениям специалистов Selectel первая атака на сервер начинается спустя 10-15 минут после его появления в сети.

    SSH для подключения к серверу

    Большинство пользователей устанавливает на серверы операционную систему Linux, а подключаются к ним по SSH.

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

    SSH-ключи: какие бывают и как работают

    Прежде чем переходить к преимуществу SSH-ключей, разберемся, как они работают.

    Благодаря SSH-ключам можно произвести аутентификацию без пароля. Ключи представляют собой набор из сотен различных символов, включая латиницу верхнего и нижнего регистров, а также спецсимволы. Общая длина часто составляет от 1024 до 4096 бит.

    Для аутентификации нужно два SSH-ключа — открытый и закрытый.

    Открытый ключ

    Открытый, или публичный, ключ доступен всем. Он используется для шифрования данных при обращении к серверу. Проще говоря, это набор символов, при помощи которых мы шифруем информацию.

    При передаче публичного ключа не нужно подстраховываться — даже если он попадет в руки злоумышленников, они не смогут его использовать. Открытый ключ — лишь замок на двери, за которой находится важная информация. Без второго SSH-ключа он не имеет смысла.

    Закрытый ключ

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

    Теперь разберемся, как открытый и закрытый ключи применяются при использовании протокола SSH.

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

    По сути, между клиентом и сервером происходит небольшая «перекличка», по которой сервер определяет, свой перед ним или чужой. Достаточно просто это изображено на схеме:

    Преимущества SSH-ключей

    Использовать SSH-ключи безопаснее, чем связку логин/пароль. Давайте перечислим почему:

    • Невозможно взломать методами перебора. Попробуйте подобрать ключ минимум на четыре строчки.
    • Приватный SSH-ключ недоступен из внешней сети. Пароль-фраза будет необходима исключительно для идентификации пользователя на сервере.
    • Закрытый ключ стандартно находится в каталоге, к которому у обычного пользователя нет доступа (в случае Unix-подобных систем).
    • Для кражи приватного ключа злоумышленник должен иметь полный доступ к правам администратора операционной системы. Другими словами, необходим доступ к привилегиям sudo. Как правило, они есть, например, у пользователя root или того, кому аналогичные привилегии были назначены вручную.

    Как мы писали выше, при создании ключа можно дополнительно зашифровать приватный ключ паролем. Его нужно будет ввести, чтобы посмотреть или скопировать SSH-ключ. В итоге, даже если злоумышленники получат доступ к root, им понадобятся дополнительные усилия для подбора пароля. Установка пароля является необязательным шагом, но он существенно повысит безопасность.

    Кроме того, ключи довольно просто использовать. SSH-ключ устанавливается (сохраняется) единоразово, его не нужно вводить каждый раз, как это было бы в случае пароля. Но нужно учитывать, что если вы запаролили доступ к SSH-ключу, то этот пароль придется вводить каждый раз.

    Где хранить SSH-ключи

    Итак, мы поняли, что стоит озаботиться правильным хранением закрытого SSH-ключа. Есть несколько вариантов.

    • Можно хранить ключи на разного рода внешних накопителях — флешки, съемные SSD-диски и т.д. Естественно, они должны храниться в защищенном месте. Носить флешку с SSH-ключами в качестве брелка на ключах точно не стоит.
    • Также можно хранить ключ на виртуальном диске. Нельзя назвать это полноценно безопасным вариантом, зато в случае утечки данных злоумышленникам еще нужно будет понять, куда можно применить SSH-ключ.
    • Подойдут для этих целей и специальные менеджеры паролей, которые заточены на их хранение. Например, Bitwarden, Keeper, Passbolt и другие. К выбору ПО тоже стоит подойти ответственно.
    • Если вы клиент Selectel, можете воспользоваться менеджером секретов. Сервис сейчас в бете, что влияет на его функциональность, однако хранить SSH-ключи в нем можно. На их защите — двухфакторная аутентификация панели управления my.selectel.

    Как использовать SSH-ключ

    Чтобы соединяться с сервером по SSH-ключу, его нужно сгенерировать. Как это сделать достаточно быстро, мы подробно описали в инструкции. В Selectel этот ключ можно указать сразу при заказе выделенного или облачного сервера.

    Установить SSH-ключ на сервере можно и с помощью терминала (CLI). В каталоге, где располагается пара ключей, нужно скопировать сгенерированный публичный SSH-ключ и вставить в список авторизованных публичных ключей на сервере. В папку /home/username/.ssh/authorized_keys, где username – ваше имя пользователя.

    Аутентификация с использованием SSH-ключа

    Для проверки работы SSH-ключа рассмотрим процесс аутентификации более детально. Аутентифицироваться, или зайти на сервер, вам необходимо для его дальнейшего администрирования.

    Подключиться к серверу при помощи SSH-ключа можно с помощью команды:

    ~$ ssh -i username@server IP

    Чтобы каждый раз не указывать путь, достаточно скопировать закрытый ключ в папку /home/имя пользователя/.ssh.

    Если вы подключаетесь к серверу впервые, появится следующее сообщение:

    Компьютер не узнает удаленный сервер. Это нормально для первого подключения. Необходимо в ответном сообщении ввести yes и продолжить, нажав кнопку Enter. Если ранее вы не указывали пароль для шифрования ключей, вы подключитесь и авторизуетесь на сервере автоматически.

    Отключение аутентификации по паролю на сервере

    Без отключения входа по логину и паролю использование SSH-ключей теряет большую часть преимуществ. Поэтому рекомендуем отключить аутентификацию по паролю.

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

    Если ключ не будет установлен, а вы отключите аутентификацию по паролю, вы потеряете доступ к серверу. Восстановить его получится лишь из-под пользователя root или другого администратора с привилегиями sudo.

    Итак, отключаем аутентификацию по паролю. Подключаемся к удаленному серверу по SSH-ключу. Открываем файл с SSH-конфигурацией, выполнив в терминале следующую команду:

    sudo nano /etc/ssh/sshd_config

    В файле будет находиться параметр PasswordAuthentication, отмечаемый во многих случаях как комментарий. Символ однострочного комментария (#), находящийся перед названием параметра, необходимо удалить. После – отключить действие параметра, поставив ему значение no.

    Сохраните файл и перезапустите службу SSH, чтобы применить изменения.

    В ОС Ubuntu или Debian необходимо выполнить данную команду:

    sudo service ssh restart

    В ОС CentOS/Fedora название службы SSH – sshd. Команда для выполнения перезапуска службы будет исполнятся в таком виде:

    sudo service sshd restart

    Проделав эти шаги, вы перенастроите службу SSH так, чтобы при аутентификации использовались только ключи.

    Заключение

    SSH-ключи — хороший способ обезопасить свой сервер от взлома злоумышленниками и разграничить уровни доступа к инфраструктуре среди пользователей. Их легко генерировать, легко хранить и использовать. Чтобы пользоваться всеми преимуществами ключей, рекомендуем оставить только этот способ получения доступа к серверу.

    Приватный ключ SSL: как его создать и найти?

    Крайне важно, чтобы доступ к закрытому ключу SSL сертификата был полностью под вашим контролем. Если приватный ключ находится в безопасном месте и недоступен для посторонних лиц, это гарантирует безопасность личной информации всех пользователей вашего сайта. Если вы не знаете, где хранится ваш приватный ключ, в этой статье вы найдете информацию о том, где в случае необходимости его найти, как обеспечить его безопасность и как создать новый ключ, в случае утери или компрометации предыдущего.

    Сохранность приватного ключа SSL

    Организации, выдающие SSL сертификаты безопасности, не имеют доступа к вашему закрытому (или приватному) ключу шифрования – и не должны иметь – поскольку закрытые ключи создаются на уровне пользователя, то есть на вашем сервере или компьютере. Даже если Вы генерируете CSR запрос и приватный ключ на нашем сайте, Вы должны сохранить его у себя, так как на нашем сервере информация о ключе не сохраняется. Два главных фактора, от которых зависит криптографическая безопасность закрытого ключа, – это количество и случайная последовательность простых чисел, используемых при его создании.

    По сути, закрытый ключ — это файл с набором чисел, сгенерированных случайным образом. Конфиденциальность этой информации является гарантией безопасности вашего ключа на протяжении всего периода использования SSL-сертификата. Чтобы обеспечить сохранность вашего закрытого ключа, доступ к нему следует разрешать только тем членам вашей организации, кому он действительно необходим, например, системному администратору, который занимается установкой SSL сертификата. Кроме того, рекомендуется изменять закрытый ключ (и перевыпускать соответствующий SSL сертификат) всякий раз, когда сотрудник, располагавший доступом к нему, покидает вашу организацию.

    Как найти приватный ключ SSL?

    Ваш приватный ключ создается, как правило, в тот момент, когда Вы генерируете CSR запрос, или же непосредственно перед этим. Если для управления вашими приватными ключами вы используете OpenSSL (например, вы пользуетесь дистрибутивами Linux на основе Debian или Red Hat), то при выполнении команды OpenSSL req приватный ключ обычно сохраняется в том же каталоге, где была инициирована команда. Если вы используете веб-сервер Microsoft IIS, то ваш закрытый ключ SSL хранится в скрытой папке на сервере-отправителе запроса на выпуск SSL сертификата (который еще называется Certificate Signing Request или сокращенно CSR-запрос). При правильной установке, сертификат сервера будет совпадать с приватным ключом. Если приватный ключ отсутствует, это может означать:

    • Сертификат не был установлен на сервере, использовавшемся для генерации CSR-запроса (актуально для серверов Microsoft IIS и некоторых других).
    • Ожидающий обработку CSR запрос был сброшен веб-сервером IIS.
    • Сертификат был установлен с помощью мастера импорта сертификатов, а не средствами IIS.

    Как создать закрытый ключ?

    Если вы не смогли найти ваш закрытый ключ SSL или еще не создали его, вам нужно будет это сделать, если вы хотите получить SSL сертификат. Как правило закрытый ключ нужно создавать на сервере, на котором вы планируете установить сертификат. При этом его нужно создать перед тем, как генерировать CSR-запрос или же вместе с ним, если ваше устройство это позволяет. Некоторые программы автоматизируют эти задачи, что значительно ускоряет весь процесс. Чтобы выпустить SSL сертификат, сертификационный центр «подписывает» ваш CSR-запрос, именно поэтому при оформлении сертификата, с Вами будут говорить именно о генерации CSR запроса на получение SSL сертификата, а не о создании приватного ключа.

    Здесь вам важно понимать, что создание CSR запроса подразумевает и создание приватного ключа. Определенному CSR запросу соответствует только один приватный ключ. Поэтому, если вы утеряли закрытый ключ (не сохранили его или случайно удалили), необходимо инициировать перевыпуск SSL сертификата с новым приватным ключом. Для этого, соответственно, необходимо создать новый CSR запрос. Поставщики SSL-сертификатов, должны предоставлять информацию о генерации приватного ключа и CSR-запроса. Инструкции, по созданию CSR-запроса и приватного ключа вы можете найти на нашем сайте. Вы также можете использовать сервис для создания приватного ключа и CSR-запроса на нашем сайте. Для этого необходимо заполнить соответствующие поля в формуляре на латинице по примеру, как показано на изображении:

    Заполнение данных для получения приватного ключа

    В поле страна важно указать сокращенное название страны прописными буквами. Далее следует заполнить город и область, в которых вы проживаете или в которых зарегистрирована ваша организация, если сертификат заказываете как юридическое лицо. Если вы заказываете OV SSL сертификат с проверкой компании или еще более надежный EV SSL сертификат с расширенной проверкой, важно, чтобы заполненные данные совпадали с информацией в регистрационных документах вашей фирмы. Если заказываете простой сертификат, это не настолько важно, главное — не оставлять пустых полей. Также при заполнении формы лучше не использовать специальных символов, так как не все центры сертификации принимают содержащие их CSR запросы.

    В поле «Доменное имя» введите домен, для которого вы оформляете SSL сертификат. Если вы заказали Wildcard SSL сертификат с поддержкой поддоменов, в этом поле следует указать домен со звездочкой вначале, например, *.emaro-ssl.ru. После заполнения всех полей создается CSR запрос и ваш приватный ключ, которые выглядят следующим образом:

    Создать закрытый ключ

    Очень важно на данном этапе сохранить ваш закрытый ключ, так как в целях обеспечения конфиденциальности он не сохраняется на нашем сервере и восстановить его не будет возможности. Если вы не сохраните закрытый ключ SSL, нужно будет создавать новый CSR запрос и перевыпускать SSL сертификат, что мы делаем для наших клиентов бесплатно.

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

    url image

    На клиентской стороне должен быть установлен пакет ssh (openssh). На серверах FirstVDS с шаблонами по умолчанию необходимое ПО уже установлено.

    Для ОС CentOS, AlmaLinux или RockyLinux выполните команду:

    # yum -y install openssh-server openssh-clients

    Для ОС Debian или Ubuntu выполните команду:

    # apt -y install openssh-server

    Дальнейшая инструкция будет одинаковая для всех ОС.

    На клиентском компьютере в командной строке выполните команду генерации ключей:

    # ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase):

    Введите путь файла, в который будут помещены ключи. Каталог по умолчанию указан в скобках, в примере /домашний_каталог/.ssh/id_rsa . Если хотите оставить расположение по умолчанию, нажмите Enter.

    Пароль (passphrase) используется для ограничения доступа к закрытому ключу. Пароль усложнит использование ключа третьими лицами в случае утраты. Если не хотите использовать секретную фразу, нажмите Enter без заполнения строки.

    Успешно сгенерировав пару ключей, вы увидите уведомление:

    Your identification has been saved in /root/.ssh/id_rsa Your public key has been saved in /root/.ssh/id_rsa.pub The key fingerprint is: SHA256:JPDzeSan06C9+osd+sKXWP0RmPk4UbSESaTvYn0aXVk root@test-server1.com The key's randomart image is: +---[RSA 3072]----+ |. oo+o | | o .o. | | + o =. E | | = o= . o | | S.=+ .o | | o.@+.o. | | ..oB.=oo. | | +=o= +. | | +**.. | +----[SHA256]-----+

    По умолчанию в современных ОС генерация ключей происходит по умолчанию с такими настройками: тип аутентификации — RSA, число бит в ключе — 2048 или 3072.

    Рекомендуем позаботится о безопасности ключей. В первую очередь обязательно необходимо задавать пароль (passphrase), который не должен быть простым. С помощью параметра -a можно увеличить время проверки пароля ключа, чтобы усложнить взлом методом грубого перебора (в случае, если ключ будет утерян, у вас будет больше времени на смену ключа на сервере).

    Будьте внимательны, слишком большое значение приведет к тому, что вам придется ждать каждый раз при входе на сервер по ключу. Значение по умолчанию — 3 секунды, можно задать 15 секунд. С помощью параметра -b можно задать число бит в ключе — 4096. Получаем такую команду:

    # ssh-keygen -b 4096 -a 15

    Выбираем директорию, вводим пароль и видим ключ RSA 4096.

    Открытый ключ хранится в файле /домашний_каталог/.ssh/id_rsa.pub , закрытый — /домашний_каталог/.ssh/id_rsa .

    Никогда и никому не передавайте, не показывайте свой закрытый ключ и не выкладывайте его на публично доступные сервисы (в т.ч. GitLab, GitHub и пр.).

    Скопируйте открытый ключ на сервер в файл /домашний_каталог/.ssh/authorized_keys . Одной строкой:

    cat ~/.ssh/id_rsa.pub | ssh root@ip-адрес-сервера 'cat >> ~/.ssh/authorized_keys'

    Или откройте этот файл на сервере редактором vi и вставьте строку с открытым ключом после ssh-rsa .

    Ещё один способ скопировать ключ в authorized_keys — команда echo , которая помещает строку в конец файла.

    echo ssh-rsa строка-публичного-ключа >> /root/.ssh/authorized_keys

    Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.

    Создание SSH-ключей на Windows с PuTTYgen

    Если вы используете ОС Windows, то подключиться по SSH к вашему (Linux) серверу можно через PuTTY или OpenSSH . Генерация ключей в этом случае выполняется также при помощи этих программ. В примере мы используем клиент PuTTY.

    Запустите приложение PuTTYgen , которое устанавливается вместе с PuTTY.

    Выберите тип ключа SSH2-RSA и нажмите Generate .

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

    После завершения создания ключей открытый ключ выводится на экран, закрытый хранится в памяти приложения. Чтобы сохранить эти ключи нажмите Save public key и Save private key . Укажите расположение файлов с ключами.

    При сохранении закрытого ключа, если не заполнено поле Key passphrase , появится запрос «Хотите ли вы сохранить ключ без секретной фразы?»

    Теперь открытый ключ необходимо скопировать на сервер в файл authorized_keys . Используйте WinSCP или другой клиент для работы с файлами на удалённом Linux-сервере. Вы можете скопировать файл с открытым ключом целиком на сервер, чтоб его копия хранилась в папке .ssh

    Откройте файл authorized_keys через WinSCP и файл, в который вы сохранили открытый ключ (public), на локальном компьютере текстовым редактором. Скопируйте значение ключа, сохраните и закройте файл в WinSCP.

    При запуске PuTTY укажите путь к закрытому ключу на локальном компьютере. Для этого во вкладке Connections → Auth выберите необходимый путь.

    Теперь можно отключить на сервере аутентификацию по паролю и использовать только SSH-ключи.

    Отключение аутентификации по паролю

    Подключитесь к серверу по SSH, используя пароль, и откройте файл sshd_config для редактирования (например, с помощью текстового редактора Vi).

    # vi /etc/ssh/sshd_config

    Убедитесь, что указан правильный путь к открытым ключам SSH, поставьте значение параметра PasswordAuthentication no .

    Перезапустите службу sshd:

    # systemctl restart sshd

    Подключитесь к серверу по SSH без использования пароля. Например, запустите PuTTY, проверьте, что во вкладке Connections -> Auth содержится путь к закрытому ключу и откройте подключение.

    Login as: root Authenticating with public key “rsa-key-20230205” Last login: Sun Feb 5 13:11:24 2023 from 1.1.1.1

    В случае успешной аутентификации по SSH-ключу вы получите доступ к командной строке сервера и сообщение вида Authenticating with public key «rsa-key-20230205», где rsa-key-20230205 — имя применённого закрытого ключа, указанное вами в файле authorized_keys.

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *