Сеть Internet объединяет машины с самыми разными операционными системами, так что очень часто браузер работает под управлением Windows, а Web-сервер, сайт с которого он отображает, — под управлением какого-либо клона UNIX. И если в Web граница между ОС практически незаметна для пользователя, то с другими службами Internet дело может обстоять и иначе.

Telnet

Протокол telnet предоставляет в распоряжение пользователя текстовый терминал удаленной машины. Если у вас установлен telnet-клиент, а на сервере, с которым вы связались, — telnet-сервер, то вы можете вводить на своей клавиатуре команды для сервера, в том числе запускать на нем любые консольные приложения, а их вывод на экран будет перенаправлен по сети в окно вашего telnet-клиента. Таким образом, вы, в сущности, имеете дело с почти не измененным интерфейсом ОС удаленного компьютера — как правило, какого-либо клона UNIX.

Но для чего вообще пользователю может понадобиться работа через протокол telnet? Ответ очевиден, если этот пользователь — администратор компьютера, работающего под управлением клона UNIX и подключенного к Internet. По традиции все UNIX-системы, несмотря на мощные графические оболочки, полностью конфигурируются в режиме командной строки. Поэтому любую задачу — от создания учетной записи пользователя или изменения прав доступа к файлу до установки новой версии ОС — системный администратор может решить с помощью telnet даже со своего домашнего компьютера, работающего под управлением Windows и связанного с Internet через обычный модем.

Что же касается «обычного человека», то ему прямой доступ к программам сервера полезен прежде всего тем, что позволяет просматривать почту непосредственно «на месте». Ведь почтовые программы для Windows, хотя и обладают мощным и понятным интерфейсом, должны получать доступ к серверу по протоколу POP3 или IMAP, что накладывает на их работу серьезные ограничения. Так, POP3 требует копировать без разбору всю полученную почту с сервера на локальный компьютер, а IMAP разрешает получить сначала только заголовки писем, и на их основании следует определить, что переписать к себе, а что сразу удалить.

Если же почтовая программа запущена прямо на сервере с помощью telnet, то при открытии письма на ваш компьютер передается только первая страница его текста. И увидев, допустим, что текст для вас важен, а прикрепленный файл размером в несколько мегабайт — нет, вы скопируете текст в файл на сервере и отошлете его себе отдельным письмом, которое и получите потом по протоколу POP3. А если вам нужно и приложение, можно сжать его архиватором формата, совместимого с WinZip или RAR, и переслать себе файл гораздо меньшего объема, чем исходный. Все эти действия займут несколько секунд, сколь бы медленным ни был ваш модем. Кстати, чтобы из дома отправить по почте большой документ, хранящийся на сервере, удаленный запуск почтовой программы просто незаменим (без него придется сначала пересылать документ с сервера домой, а потом — обратно из дома на сервер).

Однако протокол telnet — незащищенный: все данные, включая даже пароль пользователя сервера, передаются по сети в открытом виде. Поэтому в последнее время серверы активно переходят с telnet на ssh — протокол, предусматривающий шифрование передаваемой информации, а с точки зрения пользователя не отличающийся от telnet.

Из клиентских программ, работающих с telnet и ssh, особый интерес представляют те, которые предназначены для Windows, поскольку эта ОС, с одной стороны, самая распространенная клиентская платформа, а с другой, реализация для нее ПО данного типа сопряжена с некоторыми специфическими трудностями.

Ниже описываются два сравнительно новых бесплатных (freeware) клиента протоколов telnet и ssh для Windows. Сразу возникает вопрос: зачем нужны какие-то еще клиенты, если соответствующая программа входит в состав Windows 9x (т. е. тоже де-факто бесплатна)? Укажем несколько причин, в силу которых встроенный telnet-клиент Windows не может считаться удовлетворительным:

  • он не поддерживает протокол ssh и, следовательно, не позволит работать с рядом серверов;
  • он плохо работает со специальными и служебными символами, которые выдаются программами сервера, и некорректно передает информацию о нажатии некоторых клавиш;
  • даже в его локализованной версии русские буквы в передаваемом тексте отображаются некорректно (если только они не в кодировке Windows-1251, что случается крайне редко).

Соответственно от программ независимых производителей мы ожидаем отсутствия этих недостатков.

Tera Term

Программа Tera Term Pro 2.3 (http://hp.vector.co.jp/authors/VA002416/teraterm.html), предназначенная для Windows 9x и NT (имеется также версия для Windows 3.x), обеспечивает терминальный доступ по коммутируемой телефонной линии, а при наличии уже установленного соединения с Internet работает как клиент протоколов telnet и ssh; функция ssh-клиента реализована с помощью модуля TTSSH (http://www.zip.com.au/~roca/ttssh.html), разработанного Робертом О?Каллаганом (Robert O?Callahan).

Хотя автор программы Т. Тэраниси (T. Teranishi) — японец, он предусмотрел в ней перекодирование различных кириллических наборов символов, благодаря чему Tera Term успешно отображает на экране русские буквы в принятой в UNIX-системах кодировке koi8-r и позволяет вводить их с клавиатуры. Функция переноса информации между окном Tera Term и другими окнами Windows через Буфер обмена также работает корректно независимо от кодировки текста; правда, вместо традиционных для Windows сочетаний клавиш +C (копировать) и +V (вставить) используются соответственно +C и +V.

Функции терминала (т. е. обмен данными с экраном и клавиатурой) поддерживаются в базовом объеме, определяемом протоколом VT-100 (в частности, сигналы нажатия на функциональные клавиши не передаются). Для вывода на экран используется любой моноширинный шрифт (например, Courier New), причем размер окна программы автоматически устанавливается таким, чтобы в нем помещались 24 строки текста по 80 символов выбранного размера. Таким образом, окно имеет в точности те же параметры, что и «родной» терминал сервера.

Окно Tera Term (на сервере запущена программа Midnight Commander)

К числу достоинств программы следует отнести наличие функций телефонного терминала, таких как дозвон и передача данных по модему (например, по протоколу z-modem).

Установка программы тривиальна и сводится к распаковке архива с составляющими ее файлами, а также дополнительного архива с модулем TTSSH. После этого следует создать ярлык для исполняемого файла модуля TTSSH, и можно приступать к работе, время от времени пользуясь довольно подробной и хорошо структурированной документацией.

PuTTY

Разработанный Саймоном Тейтэмом (Simon Tatham) telnet- и ssh-клиент PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/; см. также http://chronos.cs.msu.su/ssh/PuTTY/faq.html) отличается ярко выраженным минимализмом: это всего один файл putty.exe, который просто копируется в любой нужный каталог (подходящее место — C:WINDOWS) и запускается. После настройки необходимых параметров (в число которых, как и для Tera Term, входит указание на необходимость перекодирования русского текста из koi8-r в Windows-1251 и обратно) открывается черное окно со светло-серыми буквами. Разумеется, вы можете настроить и более «веселенькие» цвета (в Tera Term, например, по умолчанию приняты привычные для Windows черные буквы на светлом фоне), однако это не очень желательно. Дело в том, что PuTTY поддерживает довольно разнообразные режимы терминала и, в частности, воспроизводит цвета букв и фона, но только при установке цветов окна по умолчанию. Также передаются по сети коды многих специальных клавиш, включая функциональные.

Программа работает с Буфером обмена Windows, правда, в своем минималистском стиле: нет ни меню, ни «горячих клавиш», копирование в буфер происходит автоматически при окончании выделения фрагмента окна мышью, вставка — по щелчку правой кнопкой (в стиле UNIX).

Окно PuTTY (на сервере запущена программа Midnight Commander)

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

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

Программу PuTTY удачно дополняет клиент безопасного копирования pscp.exe. Эта маленькая программа работает, когда на удаленном компьютере запущен ssh-сервер, и обеспечивает функции службы ftp — перенос файлов с компьютера на компьютер, навигацию по каталогам удаленного компьютера и т.п., — однако с шифрованием передаваемых данных и, что особенно важно, паролей (обычный протокол ftp этого не предусматривает и поэтому, подобно telnet, стремительно выходит из употребления). К сожалению, pscp работает в примитивном интерфейсе командной строки; этот недостаток можно преодолеть, подключив к программе разработанную Ларсом Гуннарсоном (Lars Gunnarsson) графическую интерфейсную оболочку iXplorer (http://www.i-tree.org/ixplorer.htm).

Какую же из программ выбрать? Если для вас важнее подробная и удобная документация, а также более привычный Windows-интерфейс, вы установите Tera Term, если гибкая функциональность — PuTTY. Впрочем, поскольку у каждой из них есть уникальные достоинства (Tera Term «по совместительству» является одной из немногих терминальных программ с поддержкой русского языка, PuTTY имеет клиент безопасного копирования), а их общий размер менее 1,5 Мбайт, ничто не мешает держать на компьютере и ту и другую.

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

Суханов Александр Алмазович; e-mail: alsu@sch57.msk.ru