Подключение к компьютеру



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

Какими способами можно подключиться к удаленному компьютеру?

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

Управление графической оболочкой удаленного компьютера

Для подключения к традиционному рабочему столу есть несколько способов.

RDP — Remote Desktop Protocol

Remote Desktop Protocol








Протокол управления удаленным рабочим столом от Microsoft. Возможности для его использования встроены в любую Windows. В том числе и клиент подключения к удаленному рабочему столу.

mstsc

Настраивается достаточно легко. Для управления Windows машинами оптимальный вариант — показывает наилучшую производительность и удобство.

Для linux существует клиент Remmina и сервер Xrdp — посредственная производительность.

remmina

Remmina — содержит ошибки, создающие ощутимые неудобства при использовании. Однако в отсутствие вариантов и при необходимости  вполне рабочее решение.

Что касается безопасности — шифрование встроено в протокол RDP.

VNC — Virtual Network Computing.

Свободный аналог RDP. Однако испольует другой принцип, работает через старый протокол RFB (remote framebiffer). Без шифрования, для безопасности необходимо использовать шифрование с помощью других протоколов. Используется обычно для управления unix-хостами, там, где необходимо управление графической оболочкой.  Это бывает необходимо достаточно редко, поскольку nix-системы обладают очень мощным консольным текстовым интерфейсом, который предоставляет абсолютно полный контроль над ОС. Зачастую используется в системах виртуализации для подключения к графической консоли виртуальных машин.

Имеет реализации для Windows, как клиентские, так и серверные.

Сторонние программы

Это, в первую очередь, популярнейший Teamviewer и менее известный Ammyy Admin. Есть и другие, о которых  нет смысла упоминать.  Очень удобный софт, который, однако, имеет существенные недостатки. Главный из них вы используя это ПО — вы по сути предоставляете доступ к своим данным разрабочикам этого ПО.

teamviever








Точно неизвестно на основе чего работают эти программы. Кроме того, обладают крайне низкой производительностью, особенно если у вас посредственное подключение к интернету. Самый главный плюс —  не требует никаких знаний для организации удаленного подключения: скачал — поставил- сообщил идентфификатор и пароль — установлено соединение.  Достаточно чтобы обе стороны имели доступ к интернету. Пользователям не нужно знать топологию сетей, не нужно знать никакие ip-адреса, порты и протоколы.

Почему я расписываю это как преимущество такого способа — потому что все остальные описанные здесь способы предполагают необходимость знать адреса, порты и протоколы. А тут легко и быстро. Для простейших задач вроде диагностики, мониторинга или оперативного выполнения несложных действий отлично подходит.  Но пытаться полноценно работать через teamviewer я бы и врагу не пожелал:)

Есть и другие, но они специфичны, и вспоминать о них здесь мы не будем.

Управление удаленным компьютером через текстовый интерфейс — командная строка

 Telnet

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

Rlogin — практически то же самое, что и  телнет. Используется (редко) в UNIX.

 SSH — Secure SHell

Это то, без чего было бы немыслимо существование современного интернета. Хотя рядовой пользователь обычно ничего об этом не слышал, но это самый оптимальный и эффективный способ управления удаленными компьютерами.

putty

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

Во-первых, для рядового пользователя управление компьютером через командную строку представляет сложность.

Во-вторых, через это не получится без ухищрений управлять windows-машиной, ввиду убогости ее командной строки и отсутствия SSH по умолчанию.

Однако, ssh позволяет делать другие вещи, которые будут очень полезны  рядовому пользователю для настройки доступа к удаленному компьютеру. Это туннелирование, причем шифрованное. SSH позволяет создавать туннели и использовать внутри них любые описанные здесь протоколы.

Netcat  — сырое сетевое соединение

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

Что нужно для подключения к удаленному компьютеру.

Нужно чтобы между ними была связь. Например, если пользователю необходим доступ по RDP для управления своим домашним компьютером, то он должен каким то образом получить прямой доступ к порту, на котором котором доступен RDP-сервер(сервис) запущенный на домашнем компьютере. Говоря буквально, нужно каким-то образом иметь доступ к порту 3389 удаленной машины. Или же 5901 — если это VNC, а 22 если нужно подключиться по SSH.   (это порты по умолчанию, которые при необходимости и желании могут быть другими). И вот здесь начинается вторая  часть — каким образом это можно осуществить.


Сделать проброс портов
(NAT  и PAT)

Это делается на межсетевых экранах или серверах. Например, если это домашний компьютер и он подключен в интернет через какой-либо роутер — нужно в настройках роутера задать настройки для NAT на свой компьютер.

remote_connect_via_NAT

Кроме того, необходимо знать внешний IP-адрес своей сети. Мы не сможем это здесь описать, поскольку не существует одного конкретного способа. Поскольку условия подключения к интернет, устройства и провайдеры  у всех разные. Но общая схема такая  как на картинке.  Обычно, можно легко найти инструкции проброса портов для вашего устройства.


VPN — Virtual Private Network

Имеет множество реализаций и вариантов, например Hamachi.  Но суть одна — поверх интернет создается «локальная» сеть. Соответственно, каждое устройство, которое в ней оказалось, имеет свой «локальный» IP-адрес и они друг с другом имеют прямую связь.remote_connect_via_vpn

А это позволяет «видеть» и подключаться к нужным портам напрямую.  Таким образом, использование способа влечет за собой определенные сложности и требует некоторых знаний. Оптимальный вариант — создать VPN самостоятельно. При использовании сторонних сервисов вроде Hamachi — способ в принципе не отличается от использования Teamviewer.


SSH-туннелирование

По сути — позволяет строить VPN без использования сложного ПО и оборудования, без использования сторонних сервисов. Однако требует наличия внешней точки подключения. (подробно о SSH-туннелях)

ssh_tunneling_scheme

Впрочем, необходимость точки подключения требуется и для двух вышеописанных способов. Да и при подключении через teamviewer или hamachi — таковая обязательно существует — сервера принадлежащие этим компаниям. Подключение будет осуществляться через них. Только так, и никак иначе.  Именно поэтому говоря о teamviewer мы говорим что вы предоставляете доступ к своим данным непонятно кому. Конечно, крайне маловероятно что кто-то этими данными воспользуется, но возможность такая существует.

 

serv_ext_ip
Что здесь подразумевается под точкой подключения — это некое устройство, имеющее известный внешний IP-адрес. Вы наверняка слышали о динамических и статических внешних IP. Так вот, для подключения и управления удаленным компьютером на самом деле неважно динамический или статический. Например, домашний роутер, как правило, имеет динамический внешний IP.

client_ext_ip

Важно его знать, но статика или динамика — абсолютно безразлично. Также нет особой разницы где оно находится — на стороне клиента, на стороне сервера или где то в третьем месте, в виде отдельного сервера. Важно чтобы обе стороны так или иначе имели доступ друг к другу — напрямую, или через третью точку.

Комментариев

  1. Тимур :

    Ответить

    • drmotor :

  2. Настя :

    Ответить

    • drmotor :

    • Мирослав :

    • drmotor :

  3. Павел :

    Ответить

    • drmotor :

  4. Дмитрий :

    Ответить

    • drmotor :

  5. Nice :

    Ответить

    • drmotor :

  6. Ирина :

    Ответить

  7. Анна :

    Ответить

  8. Марина :

    Ответить

    • drmotor :

  9. Alexander_avu :

    Ответить

  10. Милена :

    Ответить

  11. Олег :

    Ответить

    • drmotor :

  12. Алексей :

    Ответить

    • drmotor :

  13. Алексей :

    Ответить

  14. Алексей :

    Ответить

    • drmotor :

Сохраните для друзей или чтобы прочесть в другой раз:

Добавить комментарий для Alexander_avu Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *