Удаленный компьютер (удаленный хост) — сервер, физически размещенный на некотором расстоянии от клиента и доступ, к которому (для клиентов) возможен только по сети.
Для подключения к удаленному хосту используются специализированные протоколы удаленного управления. Эти протоколы, реализующие модель «терминал-сервер», позволяют работать с ресурсами сервера так же, как и с локальными ресурсами: выполнять команды, работать с файловой системой, запускать приложения и т.п. С распространением персональных ЭВМ терминальный доступ стал использоваться в основном для решения задач удаленного администрирования.
Служба удаленного управления telnet (Teletype Network) — одна из самых старых сетевых технологий Internet (первая спецификация — RFC 158 от 19.05.1971 г.). Текущая спецификация telnet — RFC 854/STD 8 – Telnet Protocol Specification. По умолчанию сервер telnet принимает входящие подключения на 23-ий порт TCP.
Протокол telnet изначально разрабатывался для использования в гетерогенных сетях. В его основе — концепция сетевого виртуального терминала (Network Virtual Terminal, NVT) — механизма абстрагирования от специфики ввода/вывода различных аппаратных и программных платформ. Так, например, в UNIX в качестве символа перехода на другую строку используется LF (код 13), в то время как в MS-DOS и Windows — пара символов CR-LF (коды 10 и 13). Сетевой виртуальный терминал NVT предлагает использование унифицированного набора символов, который используется для преобразования кодов клиента и сервера.
Хотя в сессии telnet выделяют клиентскую и серверную сторону, протокол является симметричным и обе стороны взаимодействуют через NVT, обмениваясь данными двух типов:
Прикладные данные проходят через протокол без изменений т.е. на выходе второго виртуального терминала мы видим именно то, что было введено на вход первого. С точки зрения протокола эти данные – просто последовательность байтов (октетов), по умолчанию принадлежащих набору ASCII. Если же установлена опция Binary — то последовательность любых данных в двоичном представлении.
С точки зрения безопасности протокол telnet уязвим для любого вида атак, к которым уязвим его транспорт, т.е. протокол TCP. В протоколе не предусмотрено использование ни шифрования, ни проверки подлинности данных. Поэтому telnet можно использовать в полностью контролируемой сети или с применением защиты на сетевом уровне (различные реализации виртуальных частных сетей). По причине ненадёжности от telnet как средства управления операционными системами давно отказались. Иногда клиенты telnet используются для доступа к другим символьно-ориентрованным протоколам на основе транспорта TCP (HTTP, IRC, SMTP, POP3 и прочим). Однако, использование клиента telnet в этом качестве может привести к ошибкам, связанным с неправильной трактовкой сервером опций протокола.
SSH (англ. Secure SHell – безопасная оболочка) — безопасный протокол дистанционного управления компьютером. Основная спецификация – RFC 4251. The Secure Shell (SSH) Protocol Architecture, входящий порт – 22. По сравнению с протоколами telnet и rlogin, ssh отличается, в первую очередь, высокой защищенностью за счет поддержки криптостойких алгоритмов шифрования и рядом дополнительных возможностей.
SSH позволяет не только использовать защищенную оболочку на удаленном хосте, но и туннелировать графический интерфейс (X11 forwarding), превращая клиентов, использующих X-Window System, в графические терминалы. SSH также способен (при надлежащем конфигурировании) передавать через безопасный канал любой другой сетевой протокол – port forwarding. Криптографическая защита протокола SSH не фиксирована, возможен выбор различных алгоритмов шифрования.
Сервис SSH использует по умолчанию порт 22 и объединяет протоколы трех уровней:
RDP (англ. Remote Desktop Protocol, протокол удалённого рабочего стола) — открытый протокол прикладного уровня, разработанный Microsoft и изначально предназначенный для подключения графических терминалов к Windows Terminal Server. Клиенты существуют практически для всех версий Windows (включая Windows CE и Mobile), Linux, Free BSD, Mac OS X. По-умолчанию используется порт TCP 3389. Официальное название Майкрософт для клиентского ПО – Remote Desktop Connection или Terminal Services Client (TSC).
RDP-клиент, – Remote Desktop – позволяет вам, находясь на одном компьютере, удаленно управлять другим. Например, если вам нужно зайти в свой компьютер, находящийся в офисе, из дома (предположим, что вы заблаговременно настроили свой рабочий компьютер), то вы можете с помощью инструмента Remote Desktop получить доступ ко всем данным, находящимся на рабочем компьютере, включая файлы, приложения и сетевые соединения. Вы даже можете слышать звук, с которым открываются файлы (спрашивается: зачем? прим. aag).
Фактически Remote Desktop позволяет не только получать доступ к файлам удаленного компьютера, но и на самом деле видеть рабочий стол таким, какой он есть на удаленном компьютере. Более того, если удаленный компьютер работает в операционной системе Windows 2000 или .NET Server, то на нем могут удаленно работать несколько пользователей одновременно.
Технология Terminal Services является основой для работы удаленного помощника, который позволяет вашему другу или работнику технической поддержки устанавливать соединение с вашим компьютером, видеть ваш рабочий стол и управлять компьютером.
Для соединения инструмент Remote Desktop использует LAN, виртуальную частную сеть (VPN) или интернет-соединение. Работа удаленного рабочего стола сильно зависит от скорости установленного соединения.