Как сгенерировать ключи SSH в Windows, Mac и Linux

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

Вы также можете использовать SSH в качестве туннеля для другого трафика, например, для безопасного соединения VNC через SSH(secure VNC connection over SSH) . Один из способов сделать ваши SSH - соединения еще более безопасными — использовать SSH -ключи, которые заменяют потенциально легко взламываемые пароли 617-значным ключом шифрования. Вот как сгенерировать новые ключи SSH на компьютерах с (SSH)Windows , Mac и Linux .

Что такое SSH-ключи?(What Are SSH Keys?)

Ключи SSH(SSH) позволяют создавать безопасные подключения к удаленным серверам или ПК без использования пароля по протоколу Secure Shell . Ключи SSH(SSH) создаются парами, при этом закрытый и открытый ключи остаются связанными — один нельзя использовать без другого.

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

Открытый(Public) и закрытый SSH - ключи — это две части одного целого — без закрытого ключа вы не сможете пройти аутентификацию с помощью открытого ключа и установить соединение, а без открытого ключа закрытый ключ бесполезен. Вы можете сгенерировать новые SSH - ключи в Windows , Mac и Linux , а затем передать открытый(public ) ключ на удаленное устройство.

Затем закрытый(private) ключ безопасно хранится на вашем ПК или Mac . Важно надежно сохранить копию этого ключа (например, с помощью менеджера паролей(password manager) ). Если вы его потеряете, возможно, вы не сможете восстановить удаленные соединения. 

Также важно не делиться ни своим открытым, ни закрытым ключом с другими, но особенно своим закрытым ключом (или парольной фразой, которая может его расшифровать). Имея в своем распоряжении закрытый ключ, мошеннический пользователь сможет установить соединение с вашим удаленным устройством, не требуя дополнительной аутентификации.

Как использовать Windows для генерации ключей SSH(How to Use Windows to Generate SSH Keys)

Вы можете использовать Windows для создания ключей SSH с помощью встроенного клиента OpenSSH или популярного стороннего клиента PuTTY . Если вы предпочитаете использовать графический пользовательский интерфейс ( GUI ) для создания новых ключей SSH , PuTTY — лучший вариант. Если вы предпочитаете использовать встроенное программное обеспечение, используйте OpenSSH (через Windows PowerShell ).

Использование OpenSSH через Windows PowerShell(Using OpenSSH via Windows PowerShell)

  1. Если вы хотите использовать OpenSSH , вам нужно сначала убедиться, что он включен. Для этого щелкните правой кнопкой мыши меню « Пуск(Start) » и выберите « Настройки(Settings) » .

  1. В меню « Настройки(Settings) » выберите « Приложения(Apps ) » > « Приложения и функции(Apps & features ) » > « Дополнительные функции(Optional features) » .

  1. Просмотрите меню « Дополнительные функции » для записи « (Optional features)Клиент OpenSSH»(OpenSSH Client) . Если его там нет, выберите Добавить функцию(Add a feature) .

  1. Выберите вариант « Клиент OpenSSH(OpenSSH Client ) », затем выберите « Установить(Install) » , чтобы установить его. Подождите несколько минут, пока Windows установит необходимое программное обеспечение. Если вы хотите использовать SSH для подключения к ПК с Windows , не забудьте также выбрать опцию OpenSSH Server .

  1. Установив OpenSSH , щелкните правой кнопкой мыши меню « Пуск(Start) » и выберите Windows PowerShell (Admin) .

  1. В новом окне Windows PowerShell введите ssh-keygen и выберите клавишу ввода . (enter )На этом этапе вы можете ввести новое место сохранения и имя файла для вашего ключа или просто нажать клавишу ввода(enter) еще раз, чтобы сохранить файлы в папке C:\Users\user\.ssh\ (заменив пользователя(user) на ваш собственный каталог пользователя).

    Инструмент ssh-keygen будет использовать шифрование RSA по умолчанию, но вы можете переключиться на другую форму шифрования, введя вместо этого метод (method )ssh-keygen -t , заменив метод(method) одним из доступных вариантов шифрования ( dsa, ecdsa, ed25519, rsa ).

  1. Далее вам потребуется ввести кодовую фразу. Это шифрует ваш закрытый ключ на вашем ПК и обычно рекомендуется, хотя и не требуется. Вы можете использовать запоминающееся слово или фразу, но вместо этого вы также можете использовать безопасный пароль . (use a secure password)Введите(Type) парольную фразу и нажмите Enter для подтверждения, или просто оставьте поле пустым и выберите Enter , чтобы оставить его пустым.

  1. После того, как вы добавите свою парольную фразу, Windows сгенерирует необходимые ключи в папке C:\Users\user\.ssh\ (заменив пользователя(user) именем вашей пользовательской папки). Если вы решите использовать имя файла по умолчанию, файл id_rsa.pub будет вашим открытым ключом, а id_rsa (без расширения) — вашим личным ключом. key ( id_rsa.pub ) в каталог .ssh(.ssh) на удаленном ПК, Mac или сервере.

Использование PuTTY(Using PuTTY)

Известный SSH(PuTTY SSH) -клиент PuTTY является клиентом по умолчанию для большинства пользователей Windows . Он включает в себя несколько других инструментов для установления соединений SSH , в том числе PuTTYgen , инструмент для создания новых ключей SSH .

  1. Чтобы использовать PuTTY для генерации ключей SSH , загрузите PuTTY на свой компьютер(download PuTTY for your PC) и установите его. После установки запустите PuTTYgen ( инструмент генератора SSH ) из меню « (SSH)Пуск(Start) », выберите RSA в разделе « Тип ключа для генерации(Type of key to generate) параметров», затем выберите « Создать(Generate) » . Вы также можете выбрать один из альтернативных вариантов шифрования, но приведенные ниже шаги могут отличаться.

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

  1. Если вы хотите добавить парольную фразу к своим ключам, введите ее в поля Ключевая фраза(Key passphrase ) и Подтвердите парольную фразу(Confirm passphrase) , затем выберите Сохранить открытый ключ(Save public key) и Сохранить закрытый ключ(Save private key) , чтобы сохранить ключи. Вы также можете выбрать текст в открытом ключе для вставки в поле OpenSSH author_keys(Public key for pasting into OpenSSH authorized_keys ) , затем щелкнуть правой кнопкой мыши и выбрать « Копировать(Copy) » , чтобы скопировать и вставить его в файл вручную.

  1. После сохранения ключей вы можете переместить открытый ключ(public key ) на удаленный ПК, Mac или сервер. Для вашего закрытого ключа(private key) вам может потребоваться переместить его в папку C:\Users\user\.ssh\ (заменив пользователя(user ) на правильный каталог пользователя), чтобы использовать его с вашим предпочтительным клиентом SSH .

Как сгенерировать ключи SSH на Linux или Mac(How to Generate SSH Keys on Linux or Mac)

OpenSSH — это набор инструментов золотого стандарта для управления SSH , и, как и версия для Windows , инструмент (Windows)ssh-keygen остается лучшим способом создания новых ключей SSH на (SSH)компьютерах Mac(Mac) или Linux .

Как следствие, инструменты с графическим интерфейсом(GUI) для создания ключей SSH встречаются редко и обычно не рекомендуются. Поскольку инструменты OpenSSH поставляются со всеми компьютерами (OpenSSH)Mac и почти со всеми дистрибутивами Linux(all Linux distributions) , приведенные ниже шаги должны работать для обеих платформ.

  1. Для начала откройте новое окно терминала на ПК с Linux или Mac . Если вы хотите использовать свой Mac для создания ключей SSH , вы можете запустить приложение « Терминал(Terminal) » с помощью панели(Launchpad) запуска . Действия по открытию нового терминала на ПК с Linux будут различаться в зависимости от вашего дистрибутива.

  1. В новом окне терминала на ПК с Linux или Mac введите ssh-keygen и выберите клавишу ввода . (enter )Как и в случае с ssh-keygen в Windows , версии для Linux и Mac по умолчанию используют шифрование RSA . Если вы предпочитаете использовать другую форму шифрования, введите ssh-keygen -t method, заменив метод(method) формой шифрования, которую вы хотите использовать (например , dsa, ecdsa, ed25519, rsa ).

  1. Затем вам нужно определить, где вы хотите сохранить новые ключи SSH — имя и местоположение файла по умолчанию будут показаны в круглых скобках в окне терминала. Если вы хотите сохранить свои ключи в другом месте и с другим именем файла, введите здесь новое местоположение и имя файла, а затем нажмите клавишу ввода .(enter )

  1. Затем вам нужно будет ввести парольную фразу для шифрования вашего закрытого ключа (если вы хотите его использовать). Дважды введите кодовую фразу или дважды нажмите Enter , чтобы оставить пароль пустой (хотя это не рекомендуется).

  1. На этом этапе ваши ключи SSH будут сгенерированы в указанном вами месте сохранения и с использованием имени файла id_rsa по умолчанию для шифрования RSA ( id_rsa.pub для открытого ключа и id_rsa для закрытого ключа). Вам потребуется переместить свой открытый ключ ( id_rsa.pub ) на удаленный ПК, Mac или сервер, чтобы иметь возможность установить соединение с помощью SSH .

Создание безопасных подключений с использованием SSH(Making Secure Connections Using SSH)

После того, как вы сгенерировали ключи SSH , вам необходимо обязательно скопировать открытый ключ на удаленный ПК, (SSH)Mac или сервер. Это связано с вашим закрытым ключом, что позволяет предпочитаемому вами SSH -клиенту устанавливать безопасные SSH -соединения без обычного пароля. Например, вы можете использовать SSH для удаленного подключения к другому Mac(use SSH to connect to another Mac remotely) .

Защищенные(Secure SSH) соединения SSH также могут помочь вам обойти школьный или рабочий брандмауэр(get around a school or workplace firewall) с помощью туннеля SSH . Вы также можете использовать SSH для подключения (и обновления) к Raspberry Pi(connect to (and update) a Raspberry Pi) или другим ПК и серверам на базе Linux. Однако вам необходимо убедиться, что вы включили сервер OpenSSH , если хотите сделать это в Windows 10 .



About the author

Я веб-разработчик с опытом работы в Firefox и Google Docs. У меня есть степень в области делового администрирования Университета Флориды. Мои навыки включают в себя: разработку веб-сайтов, систему управления контентом (CMS), анализ данных и дизайн пользовательского интерфейса. Я опытный консультант, который может помочь вашей команде создавать эффективные веб-сайты и приложения.



Related posts