Иногда возникают ситуации, когда нужен доступ к удаленному компьютеру, а возможности запустить на нем программу типа AmmyAdmin (http://ammyy.com/ru/) или TeamViewer (https://www.teamviewer.com/ru/) нет. Или же у провайдера нет возможности купить белый ip-адрес.
Как получить доступ к компьютеру, если компьютер находится за nat, и если управлять пробросом портов нет возможности?
В данной ситуации может выручить SSH. А точнее, reverse ssh coonect.
Нам понадобится любой, самый дешевый VPS, где дают root.
Допустим, у нас дома компьютер под windows. Скачиваем plink*** (интерфейс командной строки к PuTTY), распаковываем в папку на диск, допустим C:\plink
В командной строке необходимо перейти в папку с plink и ввести команду:
plink.exe -C -N -R 23591:localhost:3389 root@yourVPSip -no-antispoof -pw PASSWORD
где:
-С - компрессия трафика
-N - не запускать шелл
-R - комбинация ПОРТСНАРУЖИ:LOCALHOST:ПОРТВАШЕГОКОМПЬЮТЕРА. Localhost можно менять на ip-адрес компьютера в локальной сети*, root@yourVPSip – логин и ip-адрес вашего VPS-сервера
-no-antispoof — не помню :( (как вспомню - допишу ;))
-pw – пароль от вашего пользователя VPS.
Что мы получим после запуска команды?
Из глобальной сети можно будет клиентом RDP** зайти на наш домашний компьютер по адресу yourVPSip:23591.
(https://kamrc.ru/index.php?action=dlattach;topic=321.0;attach=5719;image)
*Таким образом, мы можем с одного компьютера открывать доступ на много компьютеров в ЛВС.
** или например VNC, только надо учитывать, что у VNC порт не 3389, а 5900
*** https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)