Secure Shell (SSH) — это криптографический сетевой протокол, используемый для безопасного соединения между клиентом и сервером и поддерживающий различные механизмы аутентификации.
Двумя наиболее популярными механизмами являются аутентификация на основе паролей и аутентификация на основе открытого ключа. Использование ключей SSH более безопасно и удобно, чем традиционная аутентификация по паролю.
В этом руководстве объясняется, как сгенерировать ключи SSH в Windows с помощью PuTTYgen. Мы также покажем вам, как настроить аутентификацию на основе ключа SSH и подключиться к удаленным серверам Linux без ввода пароля.
Скачивание PuTTYgen
PuTTYgen — это утилита с открытым исходным кодом, которая позволяет генерировать ключи SSH для самого популярного клиента Windows SSH PuTTY .
PuTTYgen доступен как отдельный исполняемый файл, а также является частью установочного пакета PuTTY .msi. Если у вас не установлен PuTTYgen, перейдите на страницу загрузки PuTTY и загрузите установочный пакет PuTTY. Установка проста, дважды щелкните установочный пакет и следуйте инструкциям.
Настройка Putty client для Windows — инструкции для студентов «Школы Больших Данных»
Создание ключей SSH с помощью PuTTYgen
Чтобы сгенерировать пару ключей SSH в Windows с помощью PuTTYgen, выполните следующие действия:
- Запустите PuTTYgen, дважды щелкнув его файл «.exe» или выбрав в Windows меню «Пуск» → PuTTY (64-разрядная версия) → PuTTYgen.
В блоке «Тип ключа для генерации» оставьте RSA по умолчанию. В поле «Число бит в сгенерированном ключе» оставьте значение по умолчанию 2048, которого достаточно для большинства случаев использования. При желании вы можете изменить его на 4096. - Нажмите кнопку «Создать», чтобы начать процесс создания новой пары ключей.
Вам будет предложено навести указатель мыши на пустую область в разделе «Ключ», чтобы создать некоторую случайность. Когда вы перемещаете указатель, зеленый индикатор выполнения будет двигаться вперед. Процесс должен занять несколько секунд. - После генерации открытого ключа он будет отображаться в блоке «Ключ».
Если вы хотите установить парольную фразу, введите ее в поле «Ключевая фраза-пароль» и подтвердите ту же парольную фразу в поле «Подтвердить парольную фразу». Если вы не хотите использовать кодовую фразу, оставьте поля пустыми. Если файлы закрытого ключа предназначены для интерактивного использования, рекомендуется использовать кодовую фразу. В противном случае при генерации ключа для автоматизации он может быть установлен без ключевой фразы. Парольная фраза добавляет дополнительный уровень безопасности, защищая закрытый ключ от несанкционированного использования. Если установлена кодовая фраза, ее необходимо вводить каждый раз, когда используется закрытый ключ. - Сохраните закрытый ключ, нажав кнопку «Сохранить закрытый ключ». Вы можете сохранить файл в любом каталоге как файл «.ppk» (закрытый ключ PuTTY), но желательно сохранить его в месте, где вы можете легко его найти. Обычно для файла закрытого ключа используется описательное имя. При желании вы также можете сохранить открытый ключ, хотя его можно восстановить позже, загрузив закрытый ключ.
- Щелкните правой кнопкой мыши текстовое поле с надписью «Открытый ключ для вставки в файл авторизованных_ ключей OpenSSH» и выберите все символы, нажав «Выбрать все». Откройте текстовый редактор, вставьте символы и сохраните. Убедитесь, что вы вставляете весь ключ. Рекомендуется сохранить файл в том же каталоге, в котором вы сохранили закрытый ключ, используя то же имя закрытого ключа и «.txt» или «.pub» в качестве расширения файла.
Это ключ, который вы должны добавить на свой удаленный сервер Linux.
Работа с программой PUTTY
Копирование открытого ключа на сервер
Теперь, когда пара ключей SSH создана, следующим шагом будет копирование открытого ключа на сервер, которым вы хотите управлять.
Запустите программу PuTTY и войдите на удаленный сервер Linux.
Если ваш пользовательский каталог SSH не существует, создайте его с помощью команды mkdir и установите правильные разрешения:
mkdir -p ~/.sshchmod 0700 ~/.ssh
Откройте текстовый редактор и вставьте открытый ключ, который вы скопировали на шаге 4 при генерации пары ключей, в файл ~/.ssh/authorized_keys :
nano ~/.ssh/authorized_keys
Весь текст открытого ключа должен быть в одной строке.
Выполните следующую команду chmod чтобы только ваш пользователь мог читать и записывать файл ~/.ssh/authorized_keys :
chmod 0600 ~/.ssh/authorized_keys
Войдите на сервер с помощью ключей SSH
Pageant — это агент аутентификации PuTTY SSH, который хранит закрытые ключи в памяти. Бинарный файл Pageant является частью установочного пакета PuTTY .msi и может быть запущен, выбрав в Windows меню Пуск → PuTTY (64-разрядная версия) → Pageant.
Когда вы запускаете Pageant, он помещает значок в системный трей. Дважды щелкните значок, и откроется окно Pageant.
Чтобы загрузить ключ, нажмите кнопку «Добавить ключ», при этом откроется диалоговое окно нового файла. Найдите файл закрытого ключа и нажмите «Открыть». Если вы не установили кодовую фразу, ключ будет загружен немедленно. В противном случае вам будет предложено ввести кодовую фразу.

Введите пароль, и Pageant загрузит закрытый ключ.
После выполнения описанных выше действий вы сможете войти на удаленный сервер без запроса пароля.
Чтобы проверить это, откройте новый сеанс PuTTY SSH и попробуйте войти на удаленный сервер. PuTTY будет использовать загруженный ключ, и вы войдете на сервер без ввода пароля.
Отключение аутентификации по паролю SSH
Чтобы добавить дополнительный уровень безопасности к вашему серверу, вы можете отключить аутентификацию по паролю для SSH.
Перед отключением парольной аутентификации SSH убедитесь, что вы можете войти на свой сервер без пароля, а пользователь, с которым вы входите, имеет привилегии sudo .
Войдите на удаленный сервер и откройте файл конфигурации SSH:
sudo nano /etc/ssh/sshd_config
Найдите следующие директивы и измените их следующим образом:
/etc/ssh/sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Когда вы закончите, сохраните файл и перезапустите службу SSH, набрав:
sudo systemctl restart ssh
На этом этапе аутентификация на основе пароля отключена.
Выводы
В этом руководстве вы узнали, как сгенерировать новую пару ключей SSH и настроить аутентификацию на основе ключей SSH. Вы можете добавить один и тот же ключ на несколько удаленных серверов. Мы также показали вам, как отключить аутентификацию по паролю SSH и добавить дополнительный уровень безопасности на ваш сервер.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию снизит риск автоматических атак.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник: routerus.com
Генерация ключей SSH в Windows с помощью PuTTYgen

Добавить в избранное
Главное меню » Информация » Генерация ключей SSH в Windows с помощью PuTTYgen
(2 оценок, среднее: 5,00 из 5)
14 мая 2019

S ecure Shell (SSH) — это криптографический сетевой протокол, используемый для безопасного соединения между клиентом и сервером, и поддерживает различные механизмы аутентификации.
Двумя наиболее популярными механизмами являются аутентификация на основе паролей и аутентификация на основе открытого ключа. Использование ключей SSH более безопасно и удобно, чем традиционная аутентификация по паролю.
В этой статье объясняется, как генерировать ключи SSH в Windows с помощью PuTTYgen. Мы также покажем вам, как настроить аутентификацию на основе ключей SSH и подключаться к удаленным серверам Linux без ввода пароля.
Скачать PuTTYgen
PuTTYgen — это утилита с открытым исходным кодом, которая позволяет генерировать ключи SSH для самого популярного Windows-клиента PuTTY.
PuTTYgen доступен в виде отдельного исполняемого файла и также является частью установочного пакета PuTTY.msi. Если у вас не установлен PuTTYgen, перейдите на страницу загрузки PuTTY и загрузите установочный пакет PuTTY. Установка проста, дважды щелкните по установочному пакету и следуйте инструкциям.
Создание ключей SSH с помощью PuTTYgen
Чтобы сгенерировать пару ключей SSH в Windows с помощью PuTTYgen, выполните следующие действия:
- Запустите инструмент PuTTYgen, дважды щелкнув его файл .exe или перейдя в меню Пуск Windows → PuTTY (64-разрядная версия) → PuTTYgen.
Для «Type of key to generate» оставьте значение по умолчанию RSA. «Количество бит в сгенерированном ключе» 2048 достаточно для большинства людей. Кроме того, вы можете изменить его на 4096. - Нажмите кнопку «Generate», чтобы начать процесс создания новой пары ключей.
Вам будет предложено навести курсор мыши на пустую область раздела «Key», чтобы создать случайность. При перемещении указателя зеленый индикатор выполнения будет двигаться вперед. Процесс должен занять несколько секунд. - После завершения процесса генерации открытый ключ будет отображен в окне.
При желании, если вы хотите использовать кодовую фразу, введите ее в поле «Key passphrase» и подтвердите ту же кодовую фразу в поле «Confirm passphrase». Если вы решите использовать ключевую фразу, вы получите дополнительный уровень безопасности, защищая закрытый ключ от несанкционированного использования. Если вы зададите фразу-пароль, вам нужно будет вводить фразу-пароль каждый раз, когда используется закрытый ключ. - Сохраните закрытый ключ, нажав кнопку «Save private key». Вы можете сохранить файл в любом каталоге, используя расширение .ppk (PuTTY Private Key), но рекомендуется сохранить его в месте, где его легко найти. Распространенным является использование описательного имени для файла закрытого ключа.При желании вы также можете сохранить открытый ключ, хотя его можно восстановить позже, загрузив закрытый ключ.
- Щелкните правой кнопкой мыши в текстовом поле с меткой «Открытый ключ для вставки в файл авторизованных ключей OpenSSH» и выберите все символы, нажав «Select all». Откройте текстовый редактор, вставьте символы и сохраните его. Убедитесь, что вы вставляете весь ключ. Рекомендуется сохранить файл в том же каталоге, в котором вы сохранили закрытый ключ, используя то же имя, что и закрытый ключ, и .txt или .pub в качестве расширения файла.
Это ключ, который вы добавите на свой сервер Linux.
Скопируйте открытый ключ на ваш сервер Linux
Теперь, когда вы сгенерировали пару ключей SSH, следующий шаг — скопировать открытый ключ на сервер, которым вы хотите управлять.
Запустите программу PuTTY и войдите на удаленный сервер Linux.
Если ваш пользовательский каталог SSH не существует, создайте его с помощью команды mkdir и установите правильные разрешения:
mkdir -p ~/.ssh chmod 0700 ~/.ssh
Откройте текстовый редактор и вставьте открытый ключ, который вы скопировали на шаге 4 при создании пары ключей, в файл ~/.ssh/authorized_keys:
nano ~/.ssh/authorized_keys
Весь текст открытого ключа должен быть в одной строке с.
Запустите следующую команду chown, чтобы убедиться, что только ваш пользователь может читать и записывать ~/.ssh/authorized_keysфайл:
chmod 0600 ~/.ssh/authorized_keys
Войдите на ваш сервер, используя SSH ключи
Pageant — это аутентификационный агент PuTTY SSH, который хранит закрытые ключи в памяти. Двоичный файл Pageant является частью установочного пакета PuTTY .msi и может быть запущен с помощью меню «Пуск» Windows → PuTTY (64-разрядная версия) → Pageant.
Когда вы запускаете Pageant, он помещает значок в системный трей. Дважды щелкните значок, и откроется окно Pageant.
Чтобы загрузить ключ, нажмите кнопку «Add Key», чтобы открыть диалоговое окно нового файла. Найдите файл с закрытым ключом и нажмите «Open». Если вы не установили ключевую фразу, ключ будет загружен немедленно. В противном случае вам будет предложено ввести кодовую фразу.

Введите пароль, и Pageant загрузит закрытый ключ.
После выполнения описанных выше шагов вы сможете войти на удаленный сервер без запроса пароля.
Чтобы проверить это, откройте новый сеанс PuTTY SSH и попробуйте войти на свой сервер. PuTTY будет использовать загруженный ключ, и вы войдете на свой сервер Linux без ввода пароля.
Отключение аутентификации по паролю SSH
Чтобы добавить дополнительный уровень безопасности на ваш сервер, вы можете отключить аутентификацию по паролю для SSH.
Перед отключением аутентификации по паролю SSH убедитесь, что вы можете войти на свой сервер без пароля, и у пользователя, с которым вы входите, есть привилегии sudo.
Войдите на удаленный сервер и откройте файл конфигурации SSH /etc/ssh/sshd_config в текстовом редакторе:
sudo nano /etc/ssh/sshd_config
Найдите следующие директивы и измените их следующим образом:
/etc/ssh/sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Когда вы закончите, сохраните файл и перезапустите службу SSH, набрав:
sudo systemctl restart ssh
На этом этапе аутентификация на основе пароля отключена.
Заключение
Из этой статьи вы узнали, как создать новую пару ключей SSH и настроить аутентификацию на основе ключей SSH. Вы можете добавить один и тот же ключ на несколько удаленных серверов. Мы также показали, как отключить аутентификацию по паролю SSH и добавить дополнительный уровень безопасности на ваш сервер.
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию снизит риск автоматических атак.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник: andreyex.ru
Вы еще не авторизуетесь по ключам? Тогда мы идем к вам
Начнем с того, что нам понадобится PuTTY.
Идем на http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html и качаем следующее:
PuTTY — ssh-клиент
Pageant — агент для хранения ключей (зачем объясню позже)
PuTTYgen — генератор ключей
Сначала сгенерируем ключи, потом настроим PuTTY, и в конце покажу как всем этим пользоваться.

Создадим папочку для PuTTY и все скинем туда.

Запускаем PuTTYgen выбираем «Type of key to generate» SSH-2 RSA и 2048-битный ключ.

Жмем Generate. Следуя указациям, хаотично перемещаем мышку.

После генерации нам предстанет следующее.
В верхнем поле публичный ключ, который будет храниться у принимающей стороны.
Ах да, я забыл рассказать как происходит непосредственная авторизация с помощью ключей.
Для наглядности возьмем server и client.
client сообщает server’у свой публичный ключ любым доступным способом. Беспокоиться, что кто-то узнает этот ключ не стоит.
Авторизация происходит следующем образом:
дальше следует объяснение человека, который не читал соответствующей литературы, поэтому описывает так, как он себе это представляет
client обращается к server’у и они обмениваются публичными ключами.
на основании этого server авторизует client’а, дает соответствующие права.
Это было небольшое отступление, вернемся к PuTTYgen.
В верхнем поле публичный ключ, который будет храниться у принимающей стороны.
Key fingerprint — отпечаток ключа.
Key comment — комментарий к ключу, я обычно указываю машину, на которой это ключ используется.
Key passphrase — парольная фраза к приватному ключу. Ее следует сделать сложной. Конечно можно оставить пустой, и тогда при авторизации не будет требоваться пароль, но дальше я покажу, что даже с сложным паролем к ключу можно авторизовываться без повторного ввода пароля, будто пароля и нет.
Confirm passphrase — подтверждение парольной фразы.
Дальше нужно сохранить сгенерированные ключи. Остановлюсь только на приватном ключе. При сохранении (Save private key) предложится сохранить ключ с расширением .ppk. Он будет использоваться Pageant в дальнейшем.
Перед тем, как мы перейдем к настройке PuTTY, расскажу о возможности восстановить публичный ключ из приватного с помощью PuTTYgen.
Для этого нужно нажать кнопку Load. Указать приватный ключ. Ввести парольную фразу (если имеется) и отобразится точно такое же окно, как на предыдущем скриншоте.
Теперь запустим PuTTY и сделаем предварительные настройки.
Выберем Default Settings и нажмем Load.
Перейдем слева на Session->Logging, отметим галочкой Printable output. В поле Log file name впишем logsY-D-Translation. И выберим в списке Remote character set UTF-8, чтобы не было проблем с кодировкой.
В Connection->SSH->Auth проверим, что стоит галочка напротив Attempt authentication using Pageant и укажем путь к приватному ключу в графе Private key file for authentication.
После этого вернемся на вкладку Session нажмем сохранить, чтобы указанные настройки были по-умолчанию.
Пришло время показать работу авторизации, используя ключи, на практике.
Воспользуемся агентом для хранения ключей Pageant.

После запуска, появится иконка в области уведомлений. Жмем правой кнопкой, Add key.

Выбираем ключ, указываем парольную фразу. Теперь ключ хранится в памяти.
Чтобы посмотреть ключи, можно выбрать пункт View keys.

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

Вводим логин. Жмем Enter. И мы автоматически авторизовались.

Покажу еще, на примере Komodo Edit.
Выбираем File->Open->Remote open

Выбираем Accounts. Потом New Server.
В Server Type указываем SCP. В Name произвольное название для сервера. В Hostname ip сервера (или доменное имя). В User Name логин пользователя.
Жмем Add, затем OK.
В верхнем выпадающем меню выбираем наш сервер. Если сервер разрешает авторизацию по ключам, то мы увидим список директорий на сервере, выбираем нужный файл и редактируем (при наличии прав на запись у пользователя).

PS: Следующая ошибка появляется в том случае, если сервер поддерживает только авторизацию по ключам, а у вас не включен Pageant.
PS2:
Не пропустите полезную статью Памятка пользователям ssh
Источник: habr.com