Pull to refresh

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

Введение

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

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

Гугл в помощь

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

putty.exe -ssh usrname@hostname

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

@echo off
cls
set PuttyExe=C:\Путь\к\файлу\putty.exe
set usrname=логин-в-линух
rem Имя хоста
set host=hostname
rem Путь к приватному ключу (Можно не указывать, если батник в папке с ключом)
rem со знаком "\" в конце, чтобы не склеить папку и имя файла
set keypath=C:\Путь\к\приватному\ключу\
rem Имя файла ключа
set keyname=приватный-ключ.ppk
echo Connecting to server...
pageant "%keypath%%keyname%" -c "%PuttyExe%" -ssh %usrname%@%host%

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

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

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

pageant "%keypath%%keyname%" -c putty -ssh %usrname%@%host%

Заключение

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

Всем добра!

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.