TeamViewer-подобный инструмент для SSH? - PullRequest
35 голосов
/ 28 марта 2011

Я хочу получить доступ к своему домашнему компьютеру с работы через SSH, но проблема в том, что мой домашний компьютер находится за маршрутизатором NAT (к которому у меня нет доступа). Поскольку на моем рабочем компьютере установлен CentOS и установлен прокси-сервер, я не смог использовать TeamViwer (телевизор перенесен на Linux с Wine, и, очевидно, настройки прокси не будут работать).

Кто-нибудь знает программу, которая бы соответствовала моим потребностям?

Спасибо, Клаудиу

Ответы [ 8 ]

27 голосов
/ 10 сентября 2015

Я искал то же самое и нашел два инструмента!

tmate - мгновенное совместное использование терминала

GoTTY - Поделитесь своим терминаломкак веб-приложение

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

Работает через NAT без проблем, сторонний инструмент не требуется.

tmate ssh ссылки выглядят так:

ssh 6wfUwfzXF77x6vSapQAb5Q81q@fk1.tmate.io

Просто установите tmate в вашей системе, в официальных репозиториях есть пакеты почти для всех основных дистрибутивов (Fedora, Debian, Arch, Ubuntu ...)

GoTTY - поделитесь любым терминальным приложением, которое вам нужно, и другой стороне даже не нужен ssh, но вам нужно разобраться с переадресацией портов, если вы находитесь за брандмауэром и NAT.

5 голосов
/ 28 марта 2011

Судя по звукам, нет конкретного «приложения», которое решит вашу проблему, это скорее проблема сети - ваш домашний компьютер находится за NAT, а ваш рабочий компьютер за прокси (http или socks).

Таким образом, вам нужен третий компьютер - предпочтительно под управлением Linux или BSD - назовите его «третий компьютер». Дешевый хостинг Linux vps, вероятно, лучший путь.

С вашего рабочего компьютера вы можете использовать «connect» в вашей конфигурации ssh для туннелирования через прокси на «третий компьютер» - см. http://bent.latency.net/bent/git/goto-san-connect-1.85/src/connect.html.

Например, вот моя запись в ~ / .ssh / config:

Host foo.dyndns.org
    User sonia
    Port 443
    ProxyCommand connect -H 1.2.3.4:8080 %h %p

(Использование порта 443 является распространенным способом обхода прокси-серверов http).

С вашего домашнего компьютера вы можете использовать «autossh» для настройки постоянного туннеля на «третий компьютер» - см. http://www.harding.motd.ca/autossh/ и http://www.linux.com/archive/feature/134133

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

4 голосов
/ 29 марта 2011

[1] Сам инструмент - я бы рекомендовал взглянуть на jrdesktop [http://jrdesktop.sourceforge.net/]; хотя это не очень активный проект и не подходит для модемных соединений, он стабилен, надежен, мультиплатформенен и отлично работает.

[2] Как jrdekstop, так и ssh, хотя NAT-трансверсаль не выполняется (например, Hamachi - так называемая VPN с нулевой конфигурацией; обязательно проверьте эту! https://secure.logmein.com/products/hamachi2/), есть такие опции, как "Rerese Connection", которые вы найти полезное.

После того, как вы установили такой VPN между компьютерами, вы можете использовать ssh, X, RDP, jrdesktop, VNC и другие инструменты по вашему выбору, как в обычной локальной сети. Если вы не доверяете стороннему «трансверсальному провайдеру», я слышал, что относительно легко написать свой собственный аналог для такого программного обеспечения (тем не менее, по крайней мере, одна из машин должна быть общедоступной, или оба NAT-ed должны иметь временный доступ к общедоступным третья машина).

Кроме того, люди на serverfault.com могут предложить лучшее понимание.

3 голосов
/ 05 апреля 2011

Вы также можете использовать альтернативу, такую ​​как Robo-TiTO .Это делает ваш сервер доступным через чат Jabber (например, GTalk / Hangouts).Это довольно простой и понятный терминал доступа.Я использую в течение нескольких лет.Я обычно открываю обратный SSH-туннель, и после этого это просто правильный SSH-доступ.

0 голосов
/ 19 мая 2017

Если вам нужно только ssh-соединение, вы можете потратить 2,99 $ / месяц, чтобы купить дешевый vps, и использовать обратный ssh ​​или ngrok для регистрации вашего компьютера за NAT.

0 голосов
/ 29 марта 2011

NX использует SSH-транспорт.NoMachine распространяет как бесплатную, так и премиум-версии инструмента, а также есть freenx.

0 голосов
/ 28 марта 2011

Я не знаю, имеете ли вы в виду, что у вас нет удаленного управления внешним маршрутизатором вашего домашнего маршрутизатора или кто-то другой хранит пароль, но, если вы можете получить доступ к вашему маршрутизатору, вы, вероятно, сможетенастройте переадресацию портов таким образом, чтобы при подключении ssh к общедоступному ip-адресу маршрутизатора он автоматически отправлял весь ssh-трафик в ящик во внутренней сети.

Если ваш провайдер не делает что-то подлое с операторомкласс NAT, который должен работать просто отлично.

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

0 голосов
/ 28 марта 2011

Возможно, вы сможете использовать переадресацию X с ssh -X host или ssh -Y host и просто открывать графические приложения.Или вы настроили VNC-сервер, который вы также можете туннелировать через SSH.

...