LINUX.ORG.RU
ФорумAdmin

Не могу проверить наличие порта SSH-туннеля. Как его увидеть?

 , ,


0

1

Создаю с рабочей станции SSH-туннель до удаленного хоста в интернете. С пробрасыванием порта 9000. Для этого на рабочей станции выполняю:

ssh -R 9000:127.0.0.1:9000 mysite.ru

Но нужная мне программа (которая должна коннектиться с удаленного хоста на рабочую станцию) через туннель не работает.

Я пытаюсь проверить, действительно ли создался порт 9000 на удаленном хосте. Для этого на удаленном хосте даю команду:
netstat -lnp | grep 9000

И в ответ пустота. Толи порт 9000 не поднялся, толи созданный таким образом порт не будет виден через netstat, то ли еще что.

Мне нужно выяснить надежный способ узнать, поднялся ли порт 9000 на удаленном хосте. Как это сделать?

★★★★★

Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от akk

Ну вот выполняю на удаленном хосте команды:

# nmap 127.0.0.1
Starting Nmap 6.47 ( http://nmap.org ) at 2016-08-07 13:44 MSK
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
111/tcp open  rpcbind
Nmap done: 1 IP address (1 host up) scanned in 2.47 seconds

# nmap -p 9000 127.0.0.1
Starting Nmap 6.47 ( http://nmap.org ) at 2016-08-07 13:42 MSK
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000033s latency).
PORT     STATE  SERVICE
9000/tcp closed cslistener

Nmap done: 1 IP address (1 host up) scanned in 1.10 seconds


Вроде его нет.

Но что тогда делает команда «ssh -R 9000:127.0.0.1:9000 mysite.ru»? Почему не создается порт?

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)

netstat

Олдскул не в моде
Мир принадлежит хип-хопу:
lsof -i :9000

Смирись или умри в отстое

zolden ★★★★★
()
Ответ на: комментарий от zolden

lsof -i :9000

Тоже показывает пустоту. Но как же так, я ведь вызываю эту команду в той же SSH-сессии, которую создал с туннелем.

Xintrea ★★★★★
() автор топика

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

А на локальном порт должен быть

ism ★★★
()
Ответ на: комментарий от ism

Все должно создаваться. Это просто SSH тупит, не пойму на чьей стороне. В какой-то момент соединение установилось с пробросом порта:

# lsof -i :9000
COMMAND  PID USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
sshd    6557 root    7u  IPv6 1087315565      0t0  TCP localhost:9000 (LISTEN)
sshd    6557 root    8u  IPv4 1087315566      0t0  TCP localhost:9000 (LISTEN)


Примерно поведение такое: если SSH-сессия подвисла, я закрываю терминал с ней на рабочей станции. Если в течении ~5 минут снова подключиться через SSH с туннелем, то SSH-соединение будет создано, а туннель-нет, и порт 9000 не понят. И если еще выждать ~5-10 мин, то в какой-то момент SSH-соединение создается с туннелем, и порт виден как в коде выше.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Если в течении ~5 минут снова подключиться через SSH с туннелем, то SSH-соединение будет создано, а туннель-нет, и порт 9000 не понят. И если еще выждать ~5-10 мин, то в какой-то момент SSH-соединение создается с туннелем, и порт виден как в коде выше.

Либо уменьшай таймаут на закрытие зависших сессий на сервере, либо прибивай её руками

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.