LINUX.ORG.RU
ФорумAdmin

Надеждный проброс порта при помощи ssh


0

1

Задача:

выполнить при дабл-клике по ярлыку подключение к ssh-серверу (при условии наличия беспарольного ключа) с пробросом порта с сервера на клиентскую машину с гарантией того, что порт пробросился.

Откуда сложности:

plink (консольный интерфейс putty) под офтопиком не ругается, если порт на сервере, который ему сказали пробросить, уже занят.

Данность:

Есть машина с линуксом, есть машина с офтопиком. На офтопике делаем

plink -R 55555:localhost:3389
(plink - консольная утиль из пакета putty, вместо терминального порта потом будет другой порт). После этого я хочу проверить наличие слушающего сокета на порту 55555 на сервере, к которому я подключился по ssh, и убедиться, что этот сокет слушается тем же процессом, который запустил мне bash при подключении (так как если это не так, значит, порт 55555 уже занят другой сессией, возможно, с другой машины). PID этого процеса я узнаю, выполняя
echo $$
PID процесса, навесившего сокет, я хочу узнать, выполнив
netstat -tlnp4 | grep 55555 | sed что-то-там
Дальше есть тонкость:
netstat -lnpt4
при отображении списка сокетов показывает PID приложения только для тех сокетов, которые открыты от имени моего аккаунта, а sshd со слушающим на 55555 порту сокетом почему-то оказывается не моим (а принадлежит пользователю с UID=6 - на моей машине это пользователь man, и я совершенно не понял, причем он тут). А раз хозяин сокета не я, то PID открывшего его приложения мне не показывают, и мой алгоритм не работает.

Вопросы:

1. Можно ли все-таки решить задачу моим алгоритмом, если да, как обойти грабли?

2. Как ещё можно решить эту задачу?

Спасибо.

До запуска проверить что такого 55555 порта в выводе netstat -ltn нет, а после запуска ssh клиента он появился, если не появился отработать ошибку.

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

До запуска проверить что такого 55555 порта в выводе netstat -ltn нет

Порт этот если и есть, то на сервере. Чтобы на клиенте узнать, что его нет, надо зайти на сервер, а потом выйти, чтобы зайти ещё раз, уже с пробросом порта, и проверить, появился ли он.

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