суббота, 26 ноября 2011 г.

SSH-туннель в обратную сторону

Допустим у нас есть некая закрытая сеть (работа), доступ в интернет из которой организован через NAT. А нам нужно сидя дома пробраться к сервису в этой закрытой сети из вне. За NAT-ом есть сотрудник, который готов посодействовать нам в подключении к закрытому сервису.

Суть действий проста: сотрудник подключается к нашей домашней машине по SSH и пробрасывает через себя туннель от нас до необходимого сервиса (допустим ssh)

ssh -R <порт для туннеля на нашей машине>::<порт закрытого сервиса> <пользователь на нашей машине>@

Ключ -R говорит о необходимости создать обратный туннель.

Номер порта на нашей машине должен быть больше 1024, в противном случаее сотруднику нужно будет выдать пароль рута на вашей машине.

Чтобы сотруднику жилось спокойней и открытый терминал ему не мешал он может добавить ключи -TfN. Пример готовой комманды:
ssh -TfN -R 2000:192.168.3.1:22 user@10.10.10.2

После выполнения этой команды сотрудником мы можем обратиться на свой локальный порт 2000 и увидеть там ssh сервера в закрытом сегменте.

Ещё про ssh-туннелирование: