Содержание

Применение и возможности 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

  1. Программа PuTTY для Windows 10 скачивается с официального сайта.
    Инсталляция на Windows PuTTY
  2. Далее нужно перейти по ссылке, скачать пакет для архитектуры x86 или x64, а затем запустить установку.
    Инсталляция на Windows PuTTY
  3. После установки необходимо проверить программу на работоспособность, запустив исполняемый файл на Windows.
    Инсталляция на Windows PuTTY

Работа с программой

Интерфейс

Пользоваться программой PuTTY удобно, т. к. она имеет понятный интерфейс. Чтобы ее настроить, нужно знать назначение основных ее вкладок.

  •     Session позволяет задать параметры соединения, чтобы подключиться к серверу (IP-адрес, протокол и порт), а также сохранить настройки для многократного использования.
  •     Terminal: режим активации или деактивации терминала.
  •     Window: установка кодировки и изменение интерфейса.
  •     Connection отвечает за выбор шифрования, аутентификацию без ввода пароля и т. д.

Соединение с удаленным сервером

Принцип подключения не зависит от операционной системы. Это могут быть разные версии Windows (7, 10) или популярные дистрибутивы на основе Linux — Ubuntu, CentOS, Debian.

Подключиться по SSH через PuTTY просто. Для этого нужно следовать приведенной ниже инструкции.

  1. Ввести IP-адрес или имя хоста, к которому необходимо подключиться.
  2. Указать порт (по умолчанию везде 22).
  3. Выбрать тип соединения SSH.
  4. Ввести название подключения и сохранить его, нажав кнопку «Save».
  5. Активировать соединение, нажав на «Open».
    Соединение с удаленным сервером PuTTY
  6. Указать данные для авторизации (логин и пароль).

После этого работа с терминалом осуществляется, как на локальном компьютере. Чтобы узнать информацию о версии Ubuntu, нужно ввести команду:

sudo lsb_release -a.

Соединение с удаленным сервером PuTTY

Для удобства можно создать жесткую ссылку (ярлык) на программу для быстрого запуска.

Использование SSH-ключей

Чтобы постоянно не вводить данные авторизации для соединения с удаленным сервером, нужно установить ключ SSH-типа.

Для примера, продемонстрируем ниже, как подключиться через PuTTY, установленного в Windows 10, при помощи SSH-ключа к серверу на Ubuntu.

Шаг №1

Для начала, нужно выполнить ряд действий на компьютере с ОС Windows.

  1. Установить  программу для генерации ключа «Putty Key Generator» и запустить ее.
  2. Задать параметр «RSA» и активировать процесс кнопкой «Generate». Нужно постоянно вводить указателем мыши в зоне окна выполнения операции для успешной генерации.
    Использование SSH-ключей PuTTY
  3. Сохранить private key, для чего скопировать текст из консоли в документ. Предварительно нужно указать тип файла «.ppk».
    Использование SSH-ключей PuTTY
  4. Затем сохраняем public key. Для этого необходимо скопировать и вставить текст из буфера обмена в любой пустой текстовый файл.
    Использование SSH-ключей PuTTY
  5. Свернуть программу.

Шаг №2

Далее необходимо перенести SSH-ключ на сервер Ubuntu, выполнив перечисленные ниже действия.

  1. Запустить программу PuTTY.
  2. Подключиться к серверу, используя его параметры для доступа (хост, порт и SSH-протокол).
  3. Командой «mkdir .ssh» создаем папку «.ssh». Затем командой «ll» проверяем наличие папки.
    Использование SSH-ключей PuTTY
  4. Прописываем права доступа для папки .ssh только для владельца, командой «сhmod 700 .ssh/».
    Использование SSH-ключей PuTTY
  5. При помощи команды «cd .ssh» переходим в системную папку «./ssh».
    Использование SSH-ключей PuTTY
  6. Создаем файл «authorized_keys», используя редактор nano, командой:

    touch authorized_keys

    Использование SSH-ключей PuTTY

  7. Прописываем права доступа для файла «authorized_keys», только для владельца, командой:

    сhmod 600 authorized_keys

    Использование SSH-ключей PuTTY

  8. Редактируем файл с помощью команды:

    cat >> authorized_keys << EOF»
  9. Добавляем ваш public key и заканчиваем редактирование файла командой «EOF».
    Использование SSH-ключей PuTTY

Шаг №3

Возвращаемся к программе PuTTY на Windows 10. 

  1. Переходим в программу.
  2. Добавляем данные для подключения.
  3. Переходим во вкладку «Connection SSH Auth». Выбираем для аутентификации сохраненный файл «.ppk».
    Использование SSH-ключей PuTTY
  4. Активируем соединение при помощи нажатия «Open».
    Использование SSH-ключей

Работа с файлами

Программа позволяет делать операции с файлами. Чтобы закачать файл на сервер, находящийся под управлением Linux Ubuntu (с компьютера на ОС Windows), нужно действовать по приведенной ниже инструкции.

  1. Сохранить тестовый файл «mydoc.txt» на диске C:\ вместе с исполняемым файлом для безопасного копирования — pscp.exe.
  2. Открыть командную строку Windows: «Win+R → cmd → Enter».
  3. Зайти в папку с программой pscp.exe, для чего ввести команду: «cd /d c:\Putty\pscp.exe»*, где «c:\Putty\» — путь к файлу pscp.exe.
    * Путь к файлу «c:\Putty\pscp.exe» приведен в качестве примера.
  4. Далее можно приступать непосредственно к работе с файлом. Например, передать файл «mydoc.txt» на сервер «192.241.7.16»* со стандартным портом и пользователем Ubuntu74 в папку «root» можно командой:
    * IP-адрес «192.241.7.16» приведен только в качестве примера.

    pscp.exe mydoc.txt Ubuntu74@192.241.7.16:/root/

    Если для соединения используется нестандартный порт (например, 25), то команда примет вид:

    pscp.exe -P 25 mydoc.txt Ubuntu74@192.241.7.16:/root/
  5. Ввести пароль для Ubuntu74.

Скачать файл через PuTTY с сервера «192.241.7.16» в текущую папку можно с помощью команды:

pscp.exe Ubuntu@192.241.7.16:/root/mydoc.txt

Чтобы объединить файлы, нужно их загрузить на удаленную машину, а затем выполнить команду «sudo cat mydoc1.txt mydoc2.txt > mydoc.txt».

Распространенные ошибки

Проблемы с аутентификацией

PuTTY выдает при подключении сообщение: «Access denied». Это указывает на отказ в доступе, причиной которого являются ошибки при вводе логина или пароля.

Распространенные ошибки PuTTY

Если соединение с удаленным сервером происходит при помощи SSH-ключа, то PuTTY выдаст в диалоговом окне такие строки:

Permission denied (publickey).
PuTTY Error output

Причины ошибки

Ошибка «Access denied» связана с некорректной аутентификацией на основе ключей. Вызвать ее может отсутствие соответствующих прав доступа к файлам или невозможность подтвердить права владельца.

Как решить

  1. Проверить параметры аутентификации (логин и пароль).
  2. Проверить наличие и правильность имени SSH-ключа в PuTTY.
  3. Выполнить проверку содержимого кода SSH-ключа в «authorized_keys».

Если ни один из вариантов не дал положительного результата, то нужно воспользоваться альтернативным графическим клиентом WinSCP. С его помощью нужно реализовать описанную ниже последовательность действий.

  1.   Перейти в папку «/etc/ssh/», а затем открыть файл «sshd_config».
  2. Далее необходимо найти строки «PasswordAuthentication: YES» и «PermiRootLogin: NO». Значения переменных требуется поменять на противоположные значения, т. е. «PasswordAuthentication: NO» и «PermiRootLogin: YES».
  3. После сохранения изменений необходимо перезапустить 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-адрес. 
  • Порт не поддерживается или его значение задано неверно. 
  • Блокировка исходящего подключения антивирусом или брандмауэром.

Как решить

Чтобы исправить ошибку, рекомендуется действовать по приведенной ниже инструкции.

  1. Проверить IP-адрес хоста.
  2. Убедиться, что порт не блокируется какой-либо программой. При необходимости внести его в список исключений.
  3. Проверить конфигурацию PuTTY во вкладках «Session» и «Connection».
  4. В список исключений антивируса или брандмауэра необходимо внести стандартный порт 22.