Не могу SSH, но может TeamViewer

Я хотел бы подключить SSH к компьютеру за брандмауэром, который блокирует SSH-соединения (входящие и исходящие). Забавно, я все еще могу получить доступ к компьютеру с помощью программного обеспечения удаленного рабочего стола TeamViewer. Я предположил, что TeamViewer разрешен, потому что он использует порт, отличный от порта 22 по умолчанию SSH, поэтому я добавил следующие порты в /etc/ssh/sshd_config:

Port 22
Port 443
Port 80
Port 5938
Port 10000

а затем попытался подключиться к каждому из них по очереди, используя (например)

ssh user@remote-computer.com -p 5938

Ни один из портов не работает: я все еще получаю Connection timed out ошибка.

Почему TeamViewer может подключаться к удаленному компьютеру, а SSH - нет? Как я могу подключиться к удаленному компьютеру (или выйти из него)?

2 ответа

Решение

Если вы хотите подключиться через SSH к компьютеру за брандмауэром, вам нужно будет добавить правило перенаправления портов (DNAT) на порт сопоставления брандмауэра 22 (или любой другой порт, который вы решите использовать) к порту SSH на внутреннем сервере.,

TeamViewer может использовать такие методы, как NAT Traversal и UDP для пробивки дырок, чтобы установить соединение через маршрутизатор с ПК. В то время как соединения TeamViewer являются одноранговыми (клиент подключается напрямую к хосту), первоначальное соединение устанавливается с помощью серверов TeamViewer, который сообщает хосту, что клиент пытается подключиться, а затем помогает облегчить прохождение NAT, имея сервер и клиент попытается открыть соединения, которые затем приведут брандмауэр в состояние, в котором он позволит соединению TeamViewer проходить к хосту.

Трафик для соединения TeamViewer с хост-компьютером проходит через маршрутизатор так же, как трафик от посещения веб-страницы, когда браузер на компьютере проходит через брандмауэр, чтобы запросить веб-страницу, а затем вернуть ответ на него. Основное отличие состоит в том, что "хитрости" используются для открытия соответствующих портов на клиентском брандмауэре / маршрутизаторе и разрешения соединения через удаленный клиент TeamViewer.

Другой способ сделать это - использовать переадресацию портов в ssh:

На сервере делаем:

ssh -R 2222: локальный хост: 22 _internet_server_you_own

Таким образом, вы получите ssh на свой компьютер через порт 2222 на сервере internet_server. Я думаю, что это было покрыто на сервере ранее.

Другие вопросы по тегам