Linux ssh авторизация по ключу putty

SSH авторизация по ключу через PuTTY

На сегодняшний день набирает обороты практика аутентификации к SSH-серверу по ключу, в этом есть несколько преимуществ:

  • Удобство в использовании. У вас может быть несколько серверов и один ключ, не нужно всякий раз вводить пароль от нужного сервера, что сэкономит время.
  • Это безопасно. Вы сможете отключить аутентификацию по паролю и ssh будет защищён от брутфорса.

В это статье мы настроим SSH авторизации на сервере CentOS 7 по ключу, и настроем подключение через ключ утилиту PuTTY.

Генерация ключа

Для генерации ключа будем использовать утилиту PuTTYgen. После запуска выбираем тип ключа для генерации — SSH-2 RSA, и длину ключа — 2048 бит. После чего нажимаем Generate и крутим мышкой по окну пока не закончится генерация ключа.

  • Key comment — комментарий к ключу.
  • Key passphrase — парольная фраза к приватному ключу. (Не обязательно к заполнению)
  • Confirm passphrase — подтверждение парольной фразы.

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

Далее сохраняем public key и private key. Приватный ключ мы будем использовать для подключения к серверу, а вот публичный ключ надо будет передать на удаленный сервер которому мы будем подключаться.

Обратите внимания на то как был сгенерирован ваш публичный ключ.

Лично у меня он был сгенерирован не совсем верно, вот пример public_key в дальнейшем при подключении через PuTTY с таким ключом могут возникнуть ошибка Server refused our key.

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

Установка публичного ключа на сервере

Далее необходимо скопировать наш публичный ключ на сервер. Мы воспользуемся для передачи на сервер ключа утилитой PSFTP, но вам ничего не мешает его передать через любой FTP клиент.

Ключ с копировался, теперь нужно добавить его в

/.ssh/authorized_keys. Далее логинемся еще раз по паролю, через PuTTY и выполняем:

Далее нужно проверить настройки нашего SSH сервера, сами настройки лежат в файле /etc/ssh/sshd_config:

Теперь нам надо будет перезапустить SSH сервер:

Теперь мы можем подключиться к серверу по ключу или паролю.

Но мы можем вообще запретить подключатся к SSH серверу по паролю указав в файле /etc/ssh/sshd_config.

После чего не забываем заново перезапустить SSH сервер.

Настройка и подключения PuTTY

Теперь все что нам осталась это создать новый сеанс и настроить его подключения к SSH серверу по ключу.

Создаем новый сеанс пиши на IP Адрес к серверу.

Далее, мы выбираем меню категорию SSH и там выберем под категорию Auth

В поле Private key file for authentication загружаем наш приватный ключ.

Далее переходим обратно в раздел Session и сохраняем нашу сессию для того чтобы следующий раз не заполнять все эти поля.

Читайте также:  Нам не удалось найти драйверы запоминающего устройства при установке windows

Остаётся только проверить правильность аутентификации к SSH серверу по ключу. Запустите PuTTY и подключитесь к своему серверу. Если вы при создании, ключа заполнили поле Key Passphrase и Confirm Passphrase то вас запросит вести этот пароль. Если же всё настроено неправильно, то будет выдано сообщение об ошибке и предложено ввести пароль.

Источник

Подключение PuTTy по SSH-ключу в один клик

Введение

Недавно я арендовал небольшой сервер под Ubuntu для того, чтобы потренироваться разворачивать на нем свои поделки на Java (небольшие веб-приложения). Я специально не стал пользоваться готовыми решениями, а решил научиться самостоятельно настраивать окружение на удаленном linux сервере.

Для подключения к серверу я использовал многим известную программу PuTTy. И мне было жутко неудобно запускать её и загружать сохраненную настройку. Я задался вопросом запуска в один клик. Скажу сразу, я не сильно искушенный человек в такого рода вопросах и большую часть жизни необходимости использования данного инструмента не было. В связи с чем, возможно, я не начал поиск там, где надо, и в итоге не нашел готового решения и изобрел велосипед. Надеюсь, другим людям с подобным вопросом поможет этот пост.

Гугл в помощь

Поспрашивав у коллег на работе, никто мне не смог ничего дельного подсказать, кроме «гугл в помощь». Но, видимо, гуглил я как-то не так и всё, что я находил — это решения типа:

Но нигде не было описано как подключиться к серверу по ssh ключу и сразу залогиниться в систему. Были примеры использования plink, но это не то, что я искал. В процессе моих исследований, я выяснил что в арсенале PuTTy есть еще один инструмент, с помощью которого можно запустить подключение. И называется он pageant. Немного разобравшись в способах его использования я сваял себе простой батничек. Можно обойтись одной строкой, но для наглядности я написал файл с переменными и комментариями.

В результате выполнения этого скрипта запустится pageant и запросит у Вас фразу для расшифровки приватного ключа. После чего он запустит PuTTy и начнет подключнение к серверу, а также запомнит ввод парольной фразы. Пока pageant будет запущен, Вы сможете подключаться без повторного ввода парольной фразы. При подключении, в окне консоли PuTTy вы увидите что-то вроде примера с картинки.

Автоматический вход под заданным пользователем

Т.к. я использовал не портативную PuTTy, а установочный дистрибутив, то у меня вместо пути к PuTTy можно использовать обычный консольный вызов putty:

pageant «%keypath%%keyname%» -c putty -ssh %usrname%@%host%

Заключение

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

Источник

Блог системного администратора Windows/Linux/FreeBSD

Авторизация по ключам в Putty (ssh)

В этой статье будет описан процесс авторизации по ключу в putty для ssh-сессий.
Делается это для того, чтобы не вводить постоянно пароль.
Первым делом скачивается набор утилит Putty. Нам понадобится PuTTY.exe, puttygen.exe, PSFTP.exe, Pageant.exe
Открываем puttygen.exe. Тут будет происходить генерация ключей.
Выбираем «Тип ключа для генерации» — SSH-2 RSA, силу ключа — 2048. Жмем генерировать. Видим следующее:

Читайте также:  Safari ��� chrome ��� mac os

Key comment/Комментарий — вводим комментарий к ключу.
Key passphrase/Парольная фраза — парольная фраза к приватному ключу. Её нужно будет вводить при подключении или же хранить в памяти Pageant.exe. Можно оставить пустой.
Confirm passphrase — подтверждение парольной фразы.

Далее сохраняем открытый ключ и личный ключ. Приватный ключ нужно сохранить в укромном месте, а публичный ключ нужно будет закидывать на удаленный сервер, с которым настраиваем авторизацию. Для этого можете использовать любые удобные вам средства. В статье будем использовать PSFTP из комплекта putty.
Запускаем PSFTP.exe. Логинимся к вашему серверу:

Логин и пароль как и от ssh.
Копируем публичный ключ на сервер в любую папку:

Готово.
Так как ключ был создан в putty, то его надо «преобразовать» в формат, понятный linux или freebsd. Заодно пересохраним ключи в нужное место.
Логинимся к серверу по ssh.
Переходим в папку со скопированным ключом и выполняем команду:

Если папки .ssh нет, то создайте её с правами 700. Все файлы в этой папке должны иметь права 600.
SSH-демон должен автоматически подхватить все эти дела, теперь перейдем к настройке Putty.

Открываем Putty, вводим параметры подключения к серверу (адрес, порт, имя сеанса), переходим на вкладку SSH-аутентификация:

Указываем путь к приватному ключу.
Возвращаемся к настройкам сеанса, жмем сохранить сеанс. В принципе все готово. При такой настройке вам придется вводить парольную фразу ключа при каждом подключении. Если вам лень это делать, то запустите Pageant.exe, в меню утилиты добавьте нужный ключ и введите один раз парольную фразу. Утилита Pageant сохранит в памяти парольную фразу и при подключении к серверу вводить её не надо. Но, стоит отметить, что при закрытии этой утилиты, все ключи удаляются из памяти и вам снова придется проделывать процедуру добавления ключей в Pageant.

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

Источник

Вы еще не авторизуетесь по ключам? Тогда мы идем к вам

Этой заметкой я хочу показать, что использовать ключи для авторизации это просто.

Начнем с того, что нам понадобится 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’а, дает соответствующие права.

Читайте также:  Команда сброса активации windows

Это было небольшое отступление, вернемся к 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 впишем logs\&H_&Y-&M-&D-&T.log, уберем галочку Flush log file frequently.
Таким образом, мы указали, что хранить логи будем в папочке logs, рядом с PuTTY.exe с именами на подобии 192.168.1.6_2011-08-29-101304.log
Перейдем на вкладку Window->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.

Источник

Оцените статью