4

У меня есть домен, который я купил у DynDNS. Я указал домен на свой IP-адрес, чтобы я мог запускать серверы. У меня проблема в том, что я не живу рядом с сервером ... Могу ли я использовать туннель SSH? Насколько я понимаю, это позволит мне иметь доступ к моим серверам. Я хочу, чтобы удаленный компьютер направлял трафик от порта 8080 через туннель ssh к клиенту ssh, являющемуся портом 80 моего ноутбука. Это возможно?

2 ответа2

7

Это на самом деле довольно легко сделать, хотя это несколько скрыто в документации по ssh. Предполагая OpenSSH, основной синтаксис выглядит следующим образом:

ssh -R 8080:localhost:80 -N username@your-server.dyndns.org

Это откроет прослушивающий сокет на порту 8080 your-server.dyndns.org, и любые подключения, сделанные на your-server.dyndns.org:8080 будут перенаправлены через туннель SSH на компьютер, который открыл это соединение SSH и оттуда будет направлено на localhost:80 .

Опция -N указывает SSH не открывать оболочку или что-то еще, просто установить переадресацию портов, чтобы вы могли отправить его в фоновый режим и оставить его работающим.

Putty использует почти такой же синтаксис, но встроен в некоторый GUI. Принцип тот же, хотя.

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

2

Чтобы переадресовать ваш локальный порт 80 не только на интерфейс обратной связи (127.0.0.1), вы должны сначала настроить GatewayPorts clientspecified в /etc/ssh/sshd_config на удаленной машине.

Затем перешлите ваш порт с:

ssh -R 0.0.0.0:8080:localhost:80 -N foo@bar.dyndns.org

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .