- Подключение PuTTy по SSH-ключу в один клик
- Введение
- Гугл в помощь
- Заключение
- Как пользоваться PuTTY для SSH-подключений
- Генерация SSH-ключей
- Конвертация ключа PuTTY
- Как подключиться к серверу с помощью PuTTY
- Подключение к серверу через Putty: примеры использования
- Применение и возможности PuTTY
- Возможности программы
- Установка на Windows
- Работа с программой
- Интерфейс
- Соединение с удаленным сервером
- Использование SSH-ключей
- Шаг №1
- Шаг №2
- Шаг №3
- Работа с файлами
- Распространенные ошибки
- Проблемы с аутентификацией
- Причины ошибки
- Как решить
- Ошибка подключения
- Причины ошибки
- Как решить
Подключение 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.
Источник
Как пользоваться PuTTY для SSH-подключений
PuTTY — популярный клиент для удаленного подключения.
Скачать его можно на официальном сайте PuTTY. Для подключения по SSH с помощью PuTTY воспользуйтесь инструкцией:
Генерация SSH-ключей
Откройте приложение PuTTYgen
В открывшемся окне можно задать тип ключа шифрования и битность, либо оставить настройки по умолчанию.
Нажмите кнопку «generate», чтобы начать генерацию ключа.
Хаотично двигайте мышкой по области окна программы. Это поможет сгенерировать случайные значения в ключевой паре.
После генерации станет доступен созданный ключ:
В этом окне можно задать дополнительные настройки:
— подписать комментарий к паре ключей (в поле «Key comment:») — удобно, чтобы отличать ключи, если вы используете несколько пар
— задать для ключа пароль (в поле «Key passphrase:» и «Confim passphrase:»). Это обеспечит дополнительную безопасность — даже в случае краже ключа сервер будет недоступен без ввода пароля. Пароль недоступен для восстановления в случае утери.
Cохраните приватный и публичный ключи. Публичный ключ устанавливается на сервер, к которому нужно выполнить подключении — по аналогии с замком. Приватный ключ используется с подключающейся стороны.
Кнопка «Save private key» сохраняет приватный ключ в формате .ppk. Для использования на виртуальных серверах, сохраните ключ под текстом «Public key for pasting into OpenSSH authorized_keys file:»
Конвертация ключа PuTTY
PuTTy использует собственный формат ключей. Поэтому если вы сгенерировали приватный ключ в личном кабинете Airnode (при помощи OpenStack) или в другой программе, а подключение к виртуальному серверу хотите делать через Putty, необходимо конвертировать приватный ключ.
Откройте приложение «PuTTYgen».
Нажмите «conversation» и выберите «Import key».
Выберите фаил с ключом и откройте его.
После этого сохраните преобразованный приватный ключ с помощью кнопки «Save private key».
Также доступна обратная процедура — если вы захотите сменить SSH-агент с PuTTy на любой другой, нужно сконвертировать ключ в формат OpenSSH.
Для этого используйте меню «Conversions / Import key»:
Как подключиться к серверу с помощью PuTTY
Запустите PuTTY (putty.exe)
Настройте новую сессию: в поле «Host Name (or IP address)» введите IP-адрес удаленного сервера, или его имя. Укажите порт службы SSH вашего сервера в поле “Port” (по умолчанию используется порт 22).
Выберем ключи для авторизации. Для этого перейдите в раздел «SSH/Auth».Нажмите «Browse» и выберите приватный ключ, сохранённый ранее.
Cохраним настройки сессии, чтобы не задавать их заново при повторных подключениях. Перейдите обратно в раздел «Session». В поле «Saved Session» задайте новое имя для сессии и нажмите «Save».
Нажмите «Open», чтобы подключиться к северу.
Может открыться предупреждение системы безопасности. Если вы доверяете хосту, нажмите «Да».
Откроется командная строка. В ней введите имя пользователя и, если потребуется, пароль.
Если вы подключаетесь к серверу, созданному в дата-центре Airnode на основе готового образы, то в качестве имени пользователя используйте имя операционной системы.Например: debian, centos, ubuntu. Пароль при этом не требуется.
Источник
Подключение к серверу через Putty: примеры использования
Содержание
Применение и возможности PuTTY
PuTTY — программа, которая позволяет установить соединение с удаленным сервером или компьютером. Программу можно также применять для реализации следующих целей:
- удаленного администрирования;
- взаимодействия с VPS -серверами.
- работы с Telnet-терминалами;
- настройки маршрутизаторов через RS-232;
Работать рекомендуется через SSH, поскольку он обеспечивает высокий уровень безопасности соединения с другим компьютером. PuTTY поддерживает Telnet, реализующий текстовый интерфейс в терминале (только для отображения текстовой информации в режиме консоли).
Возможности программы
- Сохранение информации и конфигурационных параметров для многократного применения.
- Работа с SSH-ключами.
- Поддержка разных версий SSH-протокола.
- Встроенные клиенты SCP и SFTP, используемые для различных операций с файлами. Возможности первого ограничиваются только функцией копирования.
- Перенаправление портов через протокол SSH.
- Поддержка xterm, ECMA-48 и VT-102.
- Возможность соединения по IPv6.
- Работа с алгоритмами шифрования.
- Аутентификация через ключ, который расположен на удаленной машине.
- Соединение через proxy.
- Использование порта RS-232.
Установка на Windows
- Программа PuTTY для Windows 10 скачивается с официального сайта .
- Далее нужно перейти по ссылке, скачать пакет для архитектуры x86 или x64, а затем запустить установку.
- После установки необходимо проверить программу на работоспособность, запустив исполняемый файл на Windows.
Работа с программой
Интерфейс
Пользоваться программой PuTTY удобно, т. к. она имеет понятный интерфейс. Чтобы ее настроить , нужно знать назначение основных ее вкладок.
- Session позволяет задать параметры соединения, чтобы подключиться к серверу (IP-адрес, протокол и порт), а также сохранить настройки для многократного использования.
- Terminal : режим активации или деактивации терминала.
- Window : установка кодировки и изменение интерфейса.
- Connection отвечает за выбор шифрования, аутентификацию без ввода пароля и т. д.
Соединение с удаленным сервером
Принцип подключения не зависит от операционной системы. Это могут быть разные версии Windows (7, 10) или популярные дистрибутивы на основе Linux — Ubuntu, CentOS, Debian.
Подключиться по SSH через PuTTY просто. Для этого нужно следовать приведенной ниже инструкции.
- Ввести IP-адрес или имя хоста, к которому необходимо подключиться.
- Указать порт (по умолчанию везде 22).
- Выбрать тип соединения SSH.
- Ввести название подключения и сохранить его, нажав кнопку «Save».
- Активировать соединение, нажав на «Open».
- Указать данные для авторизации (логин и пароль).
После этого работа с терминалом осуществляется, как на локальном компьютере. Чтобы узнать информацию о версии Ubuntu, нужно ввести команду:
Для удобства можно создать жесткую ссылку (ярлык) на программу для быстрого запуска.
Использование SSH-ключей
Чтобы постоянно не вводить данные авторизации для соединения с удаленным сервером, нужно установить ключ SSH -типа.
Для примера, продемонстрируем ниже, как подключиться через PuTTY , установленного в Windows 10, при помощи SSH-ключа к серверу на Ubuntu.
Шаг №1
Для начала, нужно выполнить ряд действий на компьютере с ОС Windows.
- Установить программу для генерации ключа « Putty Key Generator » и запустить ее.
- Задать параметр « RSA » и активировать процесс кнопкой « Generate ». Нужно постоянно вводить указателем мыши в зоне окна выполнения операции для успешной генерации.
- Сохранить private key , для чего скопировать текст из консоли в документ . Предварительно нужно указать тип файла «.ppk ».
- Затем сохраняем public key. Для этого необходимо скопировать и вставить текст из буфера обмена в любой пустой текстовый файл.
- Свернуть программу.
Шаг №2
Далее необходимо перенести SSH-ключ на сервер Ubuntu, выполнив перечисленные ниже действия.
- Запустить программу PuTTY.
- Подключиться к серверу, используя его параметры для доступа (хост, порт и SSH-протокол).
- Командой « mkdir .ssh » создаем папку «.ssh». Затем командой « ll » проверяем наличие папки.
- Прописываем права доступа для папки .ssh только для владельца, командой « сhmod 700 .ssh/ ».
- При помощи команды « cd .ssh » переходим в системную папку « ./ssh ».
- Создаем файл « authorized_keys », используя редактор nano, командой:
Прописываем права доступа для файла « authorized_keys », только для владельца, командой:
Редактируем файл с помощью команды:
Шаг №3
Возвращаемся к программе PuTTY на Windows 10.
- Переходим в программу.
- Добавляем данные для подключения.
- Переходим во вкладку «Connection → SSH → Auth». Выбираем для аутентификации сохраненный файл «.ppk».
- Активируем соединение при помощи нажатия « Open ».
Работа с файлами
Программа позволяет делать операции с файлами. Чтобы закачать файл на сервер , находящийся под управлением Linux Ubuntu (с компьютера на ОС Windows), нужно действовать по приведенной ниже инструкции.
- Сохранить тестовый файл « mydoc.txt » на диске C:\ вместе с исполняемым файлом для безопасного копирования — pscp.exe.
- Открыть командную строку Windows: « Win+R → cmd → Enter ».
- Зайти в папку с программой pscp.exe, для чего ввести команду : « cd /d c:\Putty\pscp.exe » * , где « c:\Putty\ » — путь к файлу pscp.exe.
* Путь к файлу «c:\Putty\pscp.exe» приведен в качестве примера. - Далее можно приступать непосредственно к работе с файлом. Например, п ередать файл « mydoc.txt » на сервер « 192.241.7.16 » * со стандартным портом и пользователем Ubuntu74 в папку « root » можно командой:
* IP-адрес «192.241.7.16» приведен только в качестве примера.
Если для соединения используется нестандартный порт (например, 25), то команда примет вид:
Скачать файл через PuTTY с сервера « 192.241.7.16 » в текущую папку можно с помощью команды:
Чтобы объединить файлы , нужно их загрузить на удаленную машину, а затем выполнить команду « sudo cat mydoc1.txt mydoc2.txt > mydoc.txt ».
Распространенные ошибки
Проблемы с аутентификацией
PuTTY выдает при подключении сообщение: « Access denied». Это указывает на отказ в доступе, причиной которого являются ошибки при вводе логина или пароля.
Если соединение с удаленным сервером происходит при помощи SSH-ключа, то PuTTY выдаст в диалоговом окне такие строки:
Причины ошибки
Ошибка « Access denied » связана с некорректной аутентификацией на основе ключей. Вызвать ее может отсутствие соответствующих прав доступа к файлам или невозможность подтвердить права владельца.
Как решить
- Проверить параметры аутентификации (логин и пароль).
- Проверить наличие и правильность имени SSH-ключа в PuTTY.
- Выполнить проверку содержимого кода SSH-ключа в « authorized_keys ».
Если ни один из вариантов не дал положительного результата, то нужно воспользоваться альтернативным графическим клиентом WinSCP . С его помощью нужно реализовать описанную ниже последовательность действий.
- Перейти в папку « /etc/ssh/ », а затем открыть файл « sshd_config ».
- Далее необходимо найти строки « PasswordAuthentication: YES » и « PermiRootLogin: NO ». Значения переменных требуется поменять на противоположные значения, т. е. « PasswordAuthentication: NO » и « PermiRootLogin: YES ».
- После сохранения изменений необходимо перезапустить PuTTY и соединиться с удаленным сервером.
Подробнее о том, как создать удаленное соединение для разных дистрибутивов Linux, можно узнать из отдельных руководств:
Ошибка подключения
Если программа PuTTY выдает ошибку « Unable to open connection to mysite.ru Host does not exist » * , то это свидетельствует о том, что ссылка на SSH-хост не соответствует сетевому адресу.
* Домен mysite.ru приведён для примера.
При истекшем времени подключения или отказе в соединении PuTTY выдаст сообщения « Network error: Connection timed out » и « Network error: Connection refused » соответственно.
Причины ошибки
- Отсутствие сетевого подключения.
- Неверно указан IP-адрес.
- Порт не поддерживается или его значение задано неверно.
- Блокировка исходящего подключения антивирусом или брандмауэром.
Как решить
Чтобы исправить ошибку , рекомендуется действовать по приведенной ниже инструкции.
- Проверить IP-адрес хоста.
- Убедиться, что порт не блокируется какой-либо программой. При необходимости внести его в список исключений.
- Проверить конфигурацию PuTTY во вкладках « Session » и « Connection ».
- В список исключений антивируса или брандмауэра необходимо внести стандартный порт 22.
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Источник