December 2, 2022

Как создать ssh-туннель в MacOS:

Зачем это нужно:

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

Как создать туннель. Открываем Terminal и пишем:

ssh -N -D 9999 {login}@{server_addr}

Где:

{login} - имя пользователя на удаленном сервере
{server_addr} - IP адрес или доменное имя удаленного сервера
-N - параметр, отвечающий за то, чтобы команды не транслировались на удалённый сервер
-D 9999 - параметр, указывающий, через какой адрес/порт пробрасывать данные с локального компьютера. То есть если удаленный

А еще туннель можно сделать вот так:

Если вводим такую команду, то создается SSH туннель, который будет пробрасывать с локального компьютера порт {local_port} на {external_ip}:{external_port} как будто мы уже находимся на удаленном сервере {host}

ssh {user}@{host} -p{port} -L {local_port}:{external_ip}:{external_port}

Где:

{user} - имя пользователя на удаленном сервере
{host} - адрес удаленного хоста
{port} - порт на удаленном хосте, нужно указывать только если порт отличается от 22
{local_port} - порт на локальной машине
{external_ip} - IP, куда надо прокинуть трафик на внешней машине
{external_port} - порт на внешней машине