hi!есть такая трабла:
пробрасываю порты по ssh
ssh SSH_HOST -l SSH_USER -p SSH_PORT -R 443:DESTINATION_HOST:443 -o ConnectTimeout=10 -o ServerAliveInterval=2 -o ServerAliveCountMax=1 -o StrictHostKeyChecking=no -N
запускается это в скрипте в цикле, после отваливания опять поднимается через 30 секунд. иногда почему-то после очередного разрыва соединение поднимается, а порт на удаленной стороне нет, единственное сообщение об ошибке
Warning: remote port forwarding failed for listen port 443
на удаленной стороне на этот порт ни чего не садится. помогает если переподсоедиться через некоторое время.
в мане ssh есть такое
~C Open command line. Currently this allows the addition of port
forwardings using the -L and -R options (see below). It also
allows the cancellation of existing remote port-forwardings using
-KR hostport. Basic help is available, using the -h option.
что за "-KR hostport" ? не сочтите за чайника, но я так и не п нонял как этим пользоваться :) нужно как-то закрывать порт если он там болтается после обрыва.
>ssh SSH_HOST -l SSH_USER -p SSH_PORT -R 443:DESTINATION_HOST:443 -o ConnectTimeout=10 -o ServerAliveInterval=2
>-o ServerAliveCountMax=1 -o StrictHostKeyChecking=no -N>Warning: remote port forwarding failed for listen port 443
Манипулировать портами 1-1024 можно только с root-овыми правами
>>ssh SSH_HOST -l SSH_USER -p SSH_PORT -R 443:DESTINATION_HOST:443 -o ConnectTimeout=10 -o ServerAliveInterval=2
>>-o ServerAliveCountMax=1 -o StrictHostKeyChecking=no -N
>
>>Warning: remote port forwarding failed for listen port 443
>
>Манипулировать портами 1-1024 можно только с root-овыми правамитак оно туда рутом и лезет (я ж говорил, что иногда не поднимается порт. то есть обычно поднимается, а как бу он поднялся без рута)
Sorry, невнимательно прочитал вопрос
root по ssh - как-то в голове не уложилось )
Тогда, по-видимому, надо так же root-ом по ssh вначале запускать скрипт,
который будет убивать висящий процесс предыдущего сеанса
>root по ssh - как-то в голове не уложилосьа что поделаешь, если нужен порт < 1024
со скриптом такой вариант в готову пришел
ssh -R 3333:myhost:3333 ssh_host -l user sleep 5 && netstat -an|grep tcp|grep LISTEN|grep "3333" && ping localhost || exit
если порт 3333 слушается, то ping localhost до бесконечности, заодно и канал не отвалится. если нет , то exit
такой вариант должет работать с разными ваоиантами netstat
>
>>root по ssh - как-то в голове не уложилось
>
>а что поделаешь, если нужен порт < 1024
>
>
>
>со скриптом такой вариант в готову пришел
>
>ssh -R 3333:myhost:3333 ssh_host -l user sleep 5 && netstat -an|grep tcp|grep
>LISTEN|grep "3333" && ping localhost || exit
>
>если порт 3333 слушается, то ping localhost до бесконечности, заодно и канал
>не отвалится. если нет , то exit
>
>такой вариант должет работать с разными ваоиантами netstatтолько
sleep 5 && netstat -an|grep tcp|grep LISTEN|grep "3333" && ping localhost
нужно в кавычки