Putty передать файл через com порт

Обновлено: 07.07.2024

PuTTY — программа, которая позволяет установить соединение с удаленным сервером или компьютером. Программу можно также применять для реализации следующих целей:

  • удаленного администрирования;
  • взаимодействия с VPS -серверами.
  • работы с Telnet-терминалами;
  • настройки маршрутизаторов через RS-232;

Работать рекомендуется через SSH, поскольку он обеспечивает высокий уровень безопасности соединения с другим компьютером. PuTTY поддерживает Telnet, реализующий текстовый интерфейс в терминале (только для отображения текстовой информации в режиме консоли).

Возможности программы

  • Сохранение информации и конфигурационных параметров для многократного применения.
  • Работа с SSH-ключами.
  • Поддержка разных версий SSH-протокола.
  • Встроенные клиенты SCP и SFTP, используемые для различных операций с файлами. Возможности первого ограничиваются только функцией копирования.
  • Перенаправление портов через протокол SSH.
  • Поддержка xterm, ECMA-48 и VT-102.
  • Возможность соединения по IPv6.
  • Работа с алгоритмами шифрования.
  • Аутентификация через ключ, который расположен на удаленной машине.
  • Соединение через proxy.
  • Использование порта RS-232.

Установка на Windows

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

Интерфейс

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаг №1

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

Шаг №2

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

Шаг №3

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

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

Программа позволяет делать операции с файлами. Чтобы закачать файл на сервер , находящийся под управлением 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» приведен только в качестве примера.

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

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

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

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

Распространенные ошибки 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, можно узнать из отдельных руководств:

Ошибка подключения

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

  • Отсутствие сетевого подключения.
  • Неверно указан IP-адрес.
  • Порт не поддерживается или его значение задано неверно.
  • Блокировка исходящего подключения антивирусом или брандмауэром.

Как решить

Однако всякий раз, когда я вводю Alt- коды, перед 9C, B6 и 8B передается предыдущее шестнадцатеричное значение C2, поэтому отправляются значения C2 9C, C2 B6 и C2 8B. Значение для FC изменено на C3 FC.

Почему эти значения помещаются перед шестнадцатеричным значением и почему FC изменяется полностью? Мне кажется, что существует проблема с внутренним преобразованием кода Alt в шестнадцатеричный код. Есть ли способ прямого ввода шестнадцатеричных значений без использования Alt- кодов в PuTTY?

1 ответ 1

То, что вы видите, - это обычное преобразование текстового набора символов.

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

Другими словами, когда вы набираете Alt + 1 8 2 , PuTTY получает соответствующий символ из устаревшей кодировки "OEM", для которой настроена система. (Нажатие Alt + 0 1 8 2 выберет из устаревшего набора символов "ANSI" (Windows-125x).) В этом случае, персонаж ¶ , крылатка.

Теперь PuTTY должен преобразовать этот символ в байты. В более ранних версиях PuTTY по умолчанию использовался тот же устаревший набор символов Windows-125x, который используется самой ОС, например, Windows-1257, поэтому раньше преобразование было почти прямым: ввод 1 8 2 , получение десятичного байта 182 (0xB6 hex).

Однако, поскольку PuTTY обычно подключается к серверам Linux или BSD, подавляющее большинство из которых перешли на UTF-8 по умолчанию, последний выпуск PuTTY также начал использовать UTF-8 по умолчанию. UTF-8 является кодировкой мегасимвола Unicode, который имеет ¶ в позиции U+00B6, и в основном это просто совпадение, что UTF-8 кодирует это значение как байты C2 B6 :

U+00B6 → 0000|0000 10|110110 → [110]00010 [10]110110 → C2 B6

U+00FC → 0000|0000 11|111100 → [110]00011 [10]111100 → C3 BC

U+20AC → 0010|0000 10|101100 → [1110]0010 [10]000010 [10]101100 → E2 82 AC

В Википедии есть это с цветами

Если вам абсолютно необходимо использовать PuTTY для отправки двоичных данных, откройте экран настроек «Окно → Перевод» и выберите в качестве "Удаленного набора символов" CP437, ISO-8859-1 или Windows-1252. (Сохраните это в отдельном сеансе; не сохраняйте это как глобальное значение по умолчанию, потому что это нарушит обычные соединения SSH.)

Если вам понадобится программа HyperTerminal в Windows 7, то смею вас огорчить: ее там больше нет. По какой-то причине разработчики компании Microsoft перестали включать эту замечательную утилиту в состав своих ОС (Vista, Server 2008/R2, Windows 7). Вероятно, одной из причин такого решения являться тот факт, что COM порты на современных компьютерах практически отсутствуют, а если и есть, то покрыты толстым слоем пыли…

Напомним, что HyperTerminal – это приложение, позволяющее эмулировать работу терминала при взаимодействии с удалёнными устройствами по последовательной шине (RS-232), dial-up-у или протоколу TCP/IP (последнее скорее редкость, предпочтительнее использовать telnet). Через консольный COM порт обычно настраивают различное сетевое оборудование, такое как маршрутизаторы, модемы, свитчи, АТС и т.д.

Так как же работать с COM-портами и устройствами на них в Windows 7 , когда нужен функционал старого доброго гипертерминала?

Используем стандартный HyperTerminal из Windows XP

Чтобы вернуть HyperTerminal в Windows 7 достаточно просто скопировать файлы данной программы из Windows XP. Нам понадобятся следующие файлы:

Скопируйте их в отдельный каталог в Windows 7, после чего можно запустить гипертерминал в Windows 7, открыв файл hypertrm.exe с явными правами админа (Run as administrator по правой кнопочке мыши).


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

Putty как аналог гипертерминала

Если вы хотите радикально избавиться от устаревшего гипертерминала, придется искать его аналоги для Windows 7.

Из наиболее удобных вариантов аналога мне видится утилита Putty (тем более она входит в арсенал практически любого администратора). Все, что необходимо сделать для работы Putty с локальным COM-портом, выполнить следующую настройку:


  • Запустить утилиту putty.exe и в дереве настроек перейти в раздел Connection->Serial
  • И задать нужные параметры для подключения к конкретному оборудованию. Для подключения к устройству Cisco выставляем следующие параметры:
  • Bits per Second –> 9600
  • Data bit –> 8
  • Parity –> None
  • Stop bit–> 1
  • Flow control –> None

Если вам понадобится программа HyperTerminal в Windows 7, то смею вас огорчить: ее там больше нет. По какой-то причине разработчики компании Microsoft перестали включать эту замечательную утилиту в состав своих ОС (Vista, Server 2008/R2, Windows 7). Вероятно, одной из причин такого решения являться тот факт, что COM порты на современных компьютерах практически отсутствуют, а если и есть, то покрыты толстым слоем пыли…

Напомним, что HyperTerminal – это приложение, позволяющее эмулировать работу терминала при взаимодействии с удалёнными устройствами по последовательной шине (RS-232), dial-up-у или протоколу TCP/IP (последнее скорее редкость, предпочтительнее использовать telnet). Через консольный COM порт обычно настраивают различное сетевое оборудование, такое как маршрутизаторы, модемы, свитчи, АТС и т.д.

Так как же работать с COM-портами и устройствами на них в Windows 7 , когда нужен функционал старого доброго гипертерминала?

Используем стандартный HyperTerminal из Windows XP

Чтобы вернуть HyperTerminal в Windows 7 достаточно просто скопировать файлы данной программы из Windows XP. Нам понадобятся следующие файлы:

Скопируйте их в отдельный каталог в Windows 7, после чего можно запустить гипертерминал в Windows 7, открыв файл hypertrm.exe с явными правами админа (Run as administrator по правой кнопочке мыши).


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

Putty как аналог гипертерминала

Если вы хотите радикально избавиться от устаревшего гипертерминала, придется искать его аналоги для Windows 7.

Из наиболее удобных вариантов аналога мне видится утилита Putty (тем более она входит в арсенал практически любого администратора). Все, что необходимо сделать для работы Putty с локальным COM-портом, выполнить следующую настройку:


  • Запустить утилиту putty.exe и в дереве настроек перейти в раздел Connection->Serial
  • И задать нужные параметры для подключения к конкретному оборудованию. Для подключения к устройству Cisco выставляем следующие параметры:
  • Bits per Second –> 9600
  • Data bit –> 8
  • Parity –> None
  • Stop bit–> 1
  • Flow control –> None

Блог о электронике

Практически постоянно приходится смотреть что шлет контроллер или заслать в него какой нибудь байтик. Это нужно для отладки, иногда для настройки. Порой для управления. Кому как, я так для отладки использую. Без толкового инструмента тут никак, поэтому я давно уже присмотрел себе парочку прикольных программок.

Первой хотел бы упомянуть Terminal v1.9b by Bray. На мой взгляд — гениальная программа! Более удобного интерфейса для работы я не встречал. Судите сами — все под рукой!

Для настроек скорости работы, номера порта, параметров передачи и прочих сиюминутных потребностей не надо даже по менюшкам лазать — все прям сразу же. Также можно в один тык выдать инфу в разных системах счисления, что порой бывает очень удобно. Я бы сказал жизненно необходимо.
В один клик доступна таблица ASCII, а среди особых фишек которую я очень люблю — возможность выдать поток данных в виде графика от 0 до 255.
А еще можно писать скрипты на паскалеподобном языке, делающие с входящими-исходящими данными всякие непотребности.
В общем, рулез!

Из минусов можно только отметить некоторую тормознутость при выводе в Hex кодах, но это мелочи. Еще автор похоже забил на эту разработку, так что новых версий я не видел уже много лет. Найти эту дивную программу можно много где, в том числе и у меня:

Вторая программа это COM Port Toolkit от Михаила Голикова. Ей я пользуюсь гораздо реже, но она умеет весьма нужную штуку — возможность перехватывать обмен данными между софтом и физическим COM портом. Это чертовски выручило меня когда я ломал защиту PLC, а также помогло отреверсить обмен между программой настройки модулей HM-TR433. В общем, редко, но метко.

Программка эта довольно проста в обращении, имеет три режима работы:

  • Терминал
    Может выдавать логи обмена данных улетевших к нами от нас. Слать из файла. Обрабатывать пересылаемое макросами (что может быть очень крутым подспорьем, но мне пока не пригождалось). Терминал как терминал, ничего особенного.
  • Прослушка
    Это фишка уже поинтересней. Позволяет воткнуть комп в разрез между принимающим и передающим девайсом и прослушать передачу данных кто кому и что передал. Также ведутся логи с указанием времени передачи посылки.
  • Захват
    Вот за эту фичу я и люблю эту программу — возможность снифферить обмен между софтом и портом. Редкая фича. Из бесплатных программ я нигде такого не встречал, а у программ вроде Advanced Serial Port Monitor или Free Serial Port Monitor эта фича доступна только в платной версии, тут же ее можно заюзать даже в демо версии.

Также можно писать скрипты на этот раз уже на Си подобном языке. Мне это больше нравится, т.к. я его лучше знаю.

Недостатков пожалуй три:

  • Невозможность разделить в режиме «Захват» входящие и исходящие данные на два разных окна.
  • Отстуствие русской документации, хотя бы по тому же скриптописанию.
  • Шароварность. Впрочем, я бы не назвал это недостатком. Автор, я думаю, не святым духом питается.

Демка проработала 30 дней, потом захотела денег. Но свою работу по облегчению разбора протокола обмена PLC она выполнила.

Поначалу была мысль вспомнить шальное детство, сдуть пыль с родимого SoftICE и похачить защиту, но потом вспомнил что шашек такой формы не брал в руки уже лет 5, как минимум. Да и цена программы оказалась смешной — всего 10 баксов для русскоязычных пользователей.
Так что проще было ее зарегистрировать. Тем более штука нужная и уже неоднократно себя окупившая.

PuTTY — программа, которая позволяет установить соединение с удаленным сервером или компьютером. Программу можно также применять для реализации следующих целей:

  • удаленного администрирования;
  • взаимодействия с VPS -серверами.
  • работы с Telnet-терминалами;
  • настройки маршрутизаторов через RS-232;

Работать рекомендуется через SSH, поскольку он обеспечивает высокий уровень безопасности соединения с другим компьютером. PuTTY поддерживает Telnet, реализующий текстовый интерфейс в терминале (только для отображения текстовой информации в режиме консоли).

Возможности программы

  • Сохранение информации и конфигурационных параметров для многократного применения.
  • Работа с SSH-ключами.
  • Поддержка разных версий SSH-протокола.
  • Встроенные клиенты SCP и SFTP, используемые для различных операций с файлами. Возможности первого ограничиваются только функцией копирования.
  • Перенаправление портов через протокол SSH.
  • Поддержка xterm, ECMA-48 и VT-102.
  • Возможность соединения по IPv6.
  • Работа с алгоритмами шифрования.
  • Аутентификация через ключ, который расположен на удаленной машине.
  • Соединение через proxy.
  • Использование порта RS-232.

Установка на Windows

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

Интерфейс

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаг №1

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

Шаг №2

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

Шаг №3

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

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

Программа позволяет делать операции с файлами. Чтобы закачать файл на сервер , находящийся под управлением 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» приведен только в качестве примера.

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

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

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

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

Распространенные ошибки 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, можно узнать из отдельных руководств:

Ошибка подключения

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

  • Отсутствие сетевого подключения.
  • Неверно указан IP-адрес.
  • Порт не поддерживается или его значение задано неверно.
  • Блокировка исходящего подключения антивирусом или брандмауэром.

Как решить

Читайте также: